Skip to content

Commit d2b7cff

Browse files
committed
sql: use LeaseManager of ApplicationLayer in tests
This commit audits all tests in `pkg/sql` directory to ensure the LeaseManager of the application layer is used. Note that tests still might need further modifications. Release note: None
1 parent 16fff5c commit d2b7cff

File tree

5 files changed

+35
-30
lines changed

5 files changed

+35
-30
lines changed

pkg/sql/catalog/lease/lease_internal_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1786,6 +1786,7 @@ func TestLeaseManagerLockedTimestampBasic(t *testing.T) {
17861786
Settings: st,
17871787
})
17881788
defer srv.Stopper().Stop(context.Background())
1789+
s := srv.ApplicationLayer()
17891790

17901791
r := sqlutils.MakeSQLRunner(db)
17911792

@@ -1802,7 +1803,7 @@ func TestLeaseManagerLockedTimestampBasic(t *testing.T) {
18021803
}()
18031804
var id int
18041805
r.QueryRow(t, "SELECT 't1'::REGCLASS::OID;").Scan(&id)
1805-
lm := srv.LeaseManager().(*Manager)
1806+
lm := s.LeaseManager().(*Manager)
18061807

18071808
// Note: We only need to hold old leases because the logic for doing this
18081809
// automatically is not merged yet. Once it is merged, the release of them
@@ -1817,7 +1818,7 @@ func TestLeaseManagerLockedTimestampBasic(t *testing.T) {
18171818
defer releaseHeldDescriptors()
18181819

18191820
getDescriptorVersion := func() descpb.DescriptorVersion {
1820-
ts := lm.GetReadTimestamp(srv.Clock().Now())
1821+
ts := lm.GetReadTimestamp(s.Clock().Now())
18211822
state := lm.findDescriptorState(descpb.ID(id), false)
18221823
require.NotNilf(t, state, "the descriptor was not leased yet")
18231824
ld, _, err := state.findForTimestamp(ctx, ts)
@@ -1869,12 +1870,12 @@ func TestLeaseManagerLockedTimestampCluster(t *testing.T) {
18691870
tc := serverutils.StartCluster(
18701871
t, 3, base.TestClusterArgs{
18711872
ServerArgs: base.TestServerArgs{
1872-
Settings: st,
1873+
Settings: st,
1874+
// Avoid using tenants since async tenant migration steps can acquire
1875+
// leases on our user tables.
18731876
DefaultTestTenant: base.TestNeedsTightIntegrationBetweenAPIsAndTestingKnobs,
18741877
},
18751878
ServerArgsPerNode: map[int]base.TestServerArgs{2: {
1876-
// Avoid using tenants since async tenant migration steps can acquire
1877-
// leases on our user tables.
18781879
Knobs: base.TestingKnobs{
18791880
SQLLeaseManager: &ManagerTestingKnobs{
18801881
TestingDescriptorRefreshedEvent: func(descriptor *descpb.Descriptor) {
@@ -1907,8 +1908,6 @@ func TestLeaseManagerLockedTimestampCluster(t *testing.T) {
19071908
_, err := node1Conn.Exec("ALTER TABLE d1.public.t1 ADD COLUMN n2 int DEFAULT 364")
19081909
return err
19091910
})
1910-
go func() {
1911-
}()
19121911
lm := tc.Server(2).LeaseManager().(*Manager)
19131912
assertDescriptorsCount := func(expectedCount int) {
19141913
state := lm.findDescriptorState(descpb.ID(id), false)

pkg/sql/catalog/lease/lease_test.go

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1828,12 +1828,13 @@ func TestDeleteOrphanedLeasesBySession(t *testing.T) {
18281828
defer log.Scope(t).Close(t)
18291829

18301830
ctx := context.Background()
1831-
s, conn, _ := serverutils.StartServer(t, base.TestServerArgs{
1831+
srv, conn, _ := serverutils.StartServer(t, base.TestServerArgs{
18321832
Locality: roachpb.Locality{
18331833
Tiers: []roachpb.Tier{{Key: "region", Value: "us-east1"}},
18341834
},
18351835
})
1836-
defer s.Stop(ctx)
1836+
defer srv.Stop(ctx)
1837+
s := srv.ApplicationLayer()
18371838
idb := s.InternalDB().(*sql.InternalDB)
18381839
ie := idb.Executor()
18391840
// Validate only one session exists.
@@ -2841,11 +2842,12 @@ func TestLeaseTxnDeadlineExtensionWithSession(t *testing.T) {
28412842
},
28422843
}
28432844

2844-
s, sqlDB, _ := serverutils.StartServer(t, params)
2845+
srv, sqlDB, _ := serverutils.StartServer(t, params)
2846+
defer srv.Stopper().Stop(ctx)
2847+
s := srv.ApplicationLayer()
28452848
lm := s.LeaseManager().(*lease.Manager)
28462849
leasesWaitingToExpireGauge := lm.TestingSessionBasedLeasesWaitingToExpireGauge()
28472850
leasesExpiredGauge := lm.TestingSessionBasedLeasesExpiredGauge()
2848-
defer s.Stopper().Stop(ctx)
28492851
// Setup tables for the test.
28502852
_, err := sqlDB.Exec(`
28512853
CREATE TABLE t1(val int);
@@ -3501,6 +3503,7 @@ func TestLongLeaseWaitMetrics(t *testing.T) {
35013503
},
35023504
})
35033505
defer srv.Stopper().Stop(ctx)
3506+
s := srv.ApplicationLayer()
35043507
runner := sqlutils.MakeSQLRunner(sqlDB)
35053508
runner.Exec(t, "CREATE TABLE t1(n int)")
35063509
descIDRow := runner.QueryRow(t, "SELECT 't1'::REGCLASS::INT")
@@ -3509,7 +3512,7 @@ func TestLongLeaseWaitMetrics(t *testing.T) {
35093512
grp := ctxgroup.WithContext(ctx)
35103513

35113514
startWaiters := make(chan struct{})
3512-
cachedDatabaseRegions, err := regions.NewCachedDatabaseRegions(ctx, srv.DB(), srv.LeaseManager().(*lease.Manager))
3515+
cachedDatabaseRegions, err := regions.NewCachedDatabaseRegions(ctx, s.DB(), s.LeaseManager().(*lease.Manager))
35133516
require.NoError(t, err)
35143517

35153518
grp.GoCtx(func(ctx context.Context) error {
@@ -3529,13 +3532,13 @@ func TestLongLeaseWaitMetrics(t *testing.T) {
35293532
r := retry.StartWithCtx(ctx, retry.Options{})
35303533
// Wait until long waits are detected in our metrics.
35313534
for r.Next() {
3532-
if srv.MustGetSQLCounter("sql.leases.long_wait_for_no_version") == 0 {
3535+
if s.MustGetSQLCounter("sql.leases.long_wait_for_no_version") == 0 {
35333536
continue
35343537
}
3535-
if srv.MustGetSQLCounter("sql.leases.long_wait_for_two_version_invariant") == 0 {
3538+
if s.MustGetSQLCounter("sql.leases.long_wait_for_two_version_invariant") == 0 {
35363539
continue
35373540
}
3538-
if srv.MustGetSQLCounter("sql.leases.long_wait_for_one_version") == 0 {
3541+
if s.MustGetSQLCounter("sql.leases.long_wait_for_one_version") == 0 {
35393542
continue
35403543
}
35413544
break
@@ -3563,11 +3566,11 @@ func TestLongLeaseWaitMetrics(t *testing.T) {
35633566
r := retry.StartWithCtx(ctx, retry.Options{})
35643567
for r.Next() {
35653568
// Wait for the two versions to exist.
3566-
if srv.MustGetSQLCounter("sql.leases.long_wait_for_two_version_invariant") == 0 {
3569+
if s.MustGetSQLCounter("sql.leases.long_wait_for_two_version_invariant") == 0 {
35673570
continue
35683571
}
35693572
// Wait for there to be a single version.
3570-
lm := srv.ApplicationLayer().LeaseManager().(*lease.Manager)
3573+
lm := s.LeaseManager().(*lease.Manager)
35713574
_, err := lm.WaitForOneVersion(ctx, descpb.ID(descID), cachedDatabaseRegions, retry.Options{})
35723575
return err
35733576
}
@@ -3577,16 +3580,16 @@ func TestLongLeaseWaitMetrics(t *testing.T) {
35773580
// Waits for no version of the descriptor to exist.
35783581
grp.GoCtx(func(ctx context.Context) error {
35793582
<-startWaiters
3580-
lm := srv.ApplicationLayer().LeaseManager().(*lease.Manager)
3583+
lm := s.LeaseManager().(*lease.Manager)
35813584
return lm.WaitForNoVersion(ctx, descpb.ID(descID), cachedDatabaseRegions, retry.Options{})
35823585
})
35833586

35843587
require.NoError(t, grp.Wait())
35853588

35863589
// Validate the metrics are 0 again.
3587-
require.Equal(t, int64(0), srv.MustGetSQLCounter("sql.leases.long_wait_for_no_version"))
3588-
require.Equal(t, int64(0), srv.MustGetSQLCounter("sql.leases.long_wait_for_two_version_invariant"))
3589-
require.Equal(t, int64(0), srv.MustGetSQLCounter("sql.leases.long_wait_for_one_version"))
3590+
require.Equal(t, int64(0), s.MustGetSQLCounter("sql.leases.long_wait_for_no_version"))
3591+
require.Equal(t, int64(0), s.MustGetSQLCounter("sql.leases.long_wait_for_two_version_invariant"))
3592+
require.Equal(t, int64(0), s.MustGetSQLCounter("sql.leases.long_wait_for_one_version"))
35903593
}
35913594

35923595
// TestWaitForInitialVersionConcurrent this test is a basic sanity test that
@@ -3672,8 +3675,9 @@ func BenchmarkAcquireLeaseConcurrent(b *testing.B) {
36723675
defer log.Scope(b).Close(b)
36733676

36743677
ctx := context.Background()
3675-
s, sqlDB, _ := serverutils.StartServer(b, base.TestServerArgs{})
3676-
defer s.Stopper().Stop(ctx)
3678+
srv, sqlDB, _ := serverutils.StartServer(b, base.TestServerArgs{})
3679+
defer srv.Stopper().Stop(ctx)
3680+
s := srv.ApplicationLayer()
36773681

36783682
runner := sqlutils.MakeSQLRunner(sqlDB)
36793683

@@ -3710,8 +3714,9 @@ func TestLeaseManagerIsMemoryMonitored(t *testing.T) {
37103714
skip.UnderDuress(t)
37113715

37123716
ctx := context.Background()
3713-
s, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{})
3714-
defer s.Stopper().Stop(ctx)
3717+
srv, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{})
3718+
defer srv.Stopper().Stop(ctx)
3719+
s := srv.ApplicationLayer()
37153720
lm := s.LeaseManager().(*lease.Manager)
37163721
startBytes := lm.TestingGetBoundAccount().Used()
37173722
lastBytes := startBytes

pkg/sql/indexbackfiller_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,8 @@ INSERT INTO foo VALUES (1), (10), (100);
482482

483483
// Run the testCase's setupDesc function to prepare an index backfill
484484
// mutation. Also, create an associated job and set it up to be blocked.
485-
lm := s.LeaseManager().(*lease.Manager)
486485
tt := s.ApplicationLayer()
486+
lm := tt.LeaseManager().(*lease.Manager)
487487
codec := tt.Codec()
488488
settings := tt.ClusterSettings()
489489
execCfg := tt.ExecutorConfig().(sql.ExecutorConfig)

pkg/sql/schema_changer_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,13 +1543,14 @@ func TestSchemaChangeRetryOnVersionChange(t *testing.T) {
15431543
JobsTestingKnobs: jobs.NewTestingKnobsWithShortIntervals(),
15441544
}
15451545

1546-
s, sqlDB, kvDB := serverutils.StartServer(t, params)
1547-
defer s.Stopper().Stop(context.Background())
1546+
srv, sqlDB, kvDB := serverutils.StartServer(t, params)
1547+
defer srv.Stopper().Stop(context.Background())
15481548
defer func() {
15491549
t.Log("unblocking GC")
15501550
close(unblockGC)
15511551
}()
1552-
codec := s.ApplicationLayer().Codec()
1552+
s := srv.ApplicationLayer()
1553+
codec := s.Codec()
15531554

15541555
if _, err := sqlDB.Exec(`
15551556
SET create_table_with_schema_locked=false;

pkg/sql/schemachanger/scexec/executor_external_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func setupTestInfra(t testing.TB) (_ *testInfra, cleanup func(context.Context))
9292
nodeID: s.NodeID(),
9393
settings: tt.ClusterSettings(),
9494
db: tt.ExecutorConfig().(sql.ExecutorConfig).InternalDB,
95-
lm: s.LeaseManager().(*lease.Manager),
95+
lm: tt.LeaseManager().(*lease.Manager),
9696
cf: tt.ExecutorConfig().(sql.ExecutorConfig).CollectionFactory,
9797
tsql: sqlutils.MakeSQLRunner(db),
9898
}, s.Stopper().Stop

0 commit comments

Comments
 (0)