@@ -850,16 +850,14 @@ func TestRetryOnNotLeaseHolderError(t *testing.T) {
850
850
t .Fatalf ("unexpected error: %v" , pErr )
851
851
}
852
852
require .Equal (t , 2 , attempts )
853
- rng := ds .rangeCache .GetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
854
- require .NotNil (t , rng )
853
+ rng , err := ds .rangeCache .TestingGetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
854
+ require .NoError (t , err )
855
855
856
856
if tc .expLeaseholder != nil {
857
- lh := rng .Leaseholder ()
858
- require .NotNil (t , lh )
859
- require .Equal (t , tc .expLeaseholder , lh )
857
+ lh := rng .Lease .Replica
858
+ require .Equal (t , * tc .expLeaseholder , lh )
860
859
if tc .expLease {
861
- l := rng .Lease ()
862
- require .NotNil (t , l )
860
+ l := rng .Lease
863
861
require .Equal (t , * tc .expLeaseholder , l .Replica )
864
862
// The transport retry will use the replica descriptor from the
865
863
// initial range descriptor, not the one returned in the NLHE, i.e.
@@ -868,7 +866,7 @@ func TestRetryOnNotLeaseHolderError(t *testing.T) {
868
866
expRetryReplica .Type = 0
869
867
require .Equal (t , expRetryReplica , retryReplica )
870
868
} else {
871
- require .Nil (t , rng .Lease ())
869
+ require .True (t , rng .Lease . Empty ())
872
870
}
873
871
}
874
872
})
@@ -1529,10 +1527,11 @@ func TestDistSenderLeaseholderDown(t *testing.T) {
1529
1527
t .Errorf ("contacted n1: %t, contacted n2: %t" , contacted1 , contacted2 )
1530
1528
}
1531
1529
1532
- rng := ds .rangeCache .GetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
1533
- require .Equal (t , desc , * rng .Desc ())
1534
- require .Equal (t , roachpb .StoreID (2 ), rng .Lease ().Replica .StoreID )
1535
- require .Equal (t , roachpb .LAG_BY_CLUSTER_SETTING , rng .ClosedTimestampPolicy ())
1530
+ rng , err := ds .rangeCache .TestingGetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
1531
+ require .NoError (t , err )
1532
+ require .Equal (t , desc , rng .Desc )
1533
+ require .Equal (t , roachpb .StoreID (2 ), rng .Lease .Replica .StoreID )
1534
+ require .Equal (t , roachpb .LAG_BY_CLUSTER_SETTING , rng .ClosedTimestampPolicy )
1536
1535
}
1537
1536
1538
1537
// TestRetryOnDescriptorLookupError verifies that the DistSender retries a descriptor
@@ -1793,11 +1792,11 @@ func TestEvictCacheOnError(t *testing.T) {
1793
1792
if _ , pErr := kv .SendWrapped (ctx , ds , put ); pErr != nil && ! testutils .IsPError (pErr , errString ) && ! testutils .IsError (pErr .GoError (), ctx .Err ().Error ()) {
1794
1793
t .Errorf ("put encountered unexpected error: %s" , pErr )
1795
1794
}
1796
- rng := ds .rangeCache .GetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
1795
+ rng , err := ds .rangeCache .TestingGetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
1797
1796
if tc .shouldClearReplica {
1798
- require .Nil (t , rng )
1797
+ require .Error (t , err )
1799
1798
} else if tc .shouldClearLeaseHolder {
1800
- require .True (t , rng .Lease () .Empty ())
1799
+ require .True (t , rng .Lease .Empty ())
1801
1800
}
1802
1801
})
1803
1802
}
@@ -2301,16 +2300,8 @@ func TestDistSenderDescriptorUpdatesOnSuccessfulRPCs(t *testing.T) {
2301
2300
// Check that the cache has the updated descriptor returned by the RPC.
2302
2301
for _ , ri := range tc {
2303
2302
rk := ri .Desc .StartKey
2304
- entry := ds .rangeCache .GetCached (ctx , rk , false /* inverted */ )
2305
- require .NotNil (t , entry )
2306
- require .Equal (t , & ri .Desc , entry .Desc ())
2307
- if ri .Lease .Empty () {
2308
- require .Nil (t , entry .Leaseholder ())
2309
- require .Nil (t , entry .Lease ())
2310
- } else {
2311
- require .Equal (t , & ri .Lease , entry .Lease ())
2312
- }
2313
- require .Equal (t , ri .ClosedTimestampPolicy , entry .ClosedTimestampPolicy ())
2303
+ entry , _ := ds .rangeCache .TestingGetCached (ctx , rk , false /* inverted */ )
2304
+ require .Equal (t , ri , entry )
2314
2305
}
2315
2306
})
2316
2307
}
@@ -2374,9 +2365,10 @@ func TestSendRPCRangeNotFoundError(t *testing.T) {
2374
2365
if len (seen ) == 1 {
2375
2366
// Pretend that this replica is the leaseholder in the cache to verify
2376
2367
// that the response evicts it.
2377
- rng := ds .rangeCache .GetCached (ctx , descriptor .StartKey , false /* inverse */ )
2368
+ rng , err := ds .rangeCache .TestingGetCached (ctx , descriptor .StartKey , false /* inverse */ )
2369
+ require .NoError (t , err )
2378
2370
ds .rangeCache .Insert (ctx , roachpb.RangeInfo {
2379
- Desc : * rng .Desc () ,
2371
+ Desc : rng .Desc ,
2380
2372
Lease : roachpb.Lease {Replica : ba .Replica },
2381
2373
})
2382
2374
}
@@ -2409,9 +2401,9 @@ func TestSendRPCRangeNotFoundError(t *testing.T) {
2409
2401
t .Fatal (err )
2410
2402
}
2411
2403
2412
- rng := ds .rangeCache .GetCached (ctx , descriptor .StartKey , false /* inverted */ )
2413
- require .NotNil (t , rng )
2414
- require .Equal (t , leaseholderStoreID , rng .Lease () .Replica .StoreID )
2404
+ rng , e := ds .rangeCache .TestingGetCached (ctx , descriptor .StartKey , false /* inverted */ )
2405
+ require .NoError (t , e )
2406
+ require .Equal (t , leaseholderStoreID , rng .Lease .Replica .StoreID )
2415
2407
}
2416
2408
2417
2409
func TestMultiRangeGapReverse (t * testing.T ) {
@@ -4084,10 +4076,10 @@ func TestCanSendToFollower(t *testing.T) {
4084
4076
// we've had where we were always updating the leaseholder on successful
4085
4077
// RPCs because we erroneously assumed that a success must come from the
4086
4078
// leaseholder.
4087
- rng := ds .rangeCache .GetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
4088
- require .NotNil (t , rng )
4089
- require .NotNil (t , rng .Lease () )
4090
- require .Equal (t , roachpb .StoreID (2 ), rng .Lease () .Replica .StoreID )
4079
+ rng , err := ds .rangeCache .TestingGetCached (ctx , testUserRangeDescriptor .StartKey , false /* inverted */ )
4080
+ require .NoError (t , err )
4081
+ require .NotNil (t , rng .Lease )
4082
+ require .Equal (t , roachpb .StoreID (2 ), rng .Lease .Replica .StoreID )
4091
4083
})
4092
4084
}
4093
4085
}
@@ -4250,10 +4242,11 @@ func TestEvictMetaRange(t *testing.T) {
4250
4242
}
4251
4243
4252
4244
// Verify that there is one meta2 cached range.
4253
- cachedRange := ds .rangeCache .GetCached (ctx , keys .RangeMetaKey (roachpb .RKey ("a" )), false )
4254
- if ! cachedRange .Desc ().StartKey .Equal (keys .Meta2Prefix ) || ! cachedRange .Desc ().EndKey .Equal (testMetaEndKey ) {
4245
+ cachedRange , err := ds .rangeCache .TestingGetCached (ctx , keys .RangeMetaKey (roachpb .RKey ("a" )), false )
4246
+ require .NoError (t , err )
4247
+ if ! cachedRange .Desc .StartKey .Equal (keys .Meta2Prefix ) || ! cachedRange .Desc .EndKey .Equal (testMetaEndKey ) {
4255
4248
t .Fatalf ("expected cached meta2 range to be [%s, %s), actual [%s, %s)" ,
4256
- keys .Meta2Prefix , testMetaEndKey , cachedRange .Desc () .StartKey , cachedRange .Desc () .EndKey )
4249
+ keys .Meta2Prefix , testMetaEndKey , cachedRange .Desc .StartKey , cachedRange .Desc .EndKey )
4257
4250
}
4258
4251
4259
4252
// Simulate a split on the meta2 range and mark it as stale.
@@ -4265,15 +4258,17 @@ func TestEvictMetaRange(t *testing.T) {
4265
4258
}
4266
4259
4267
4260
// Verify that there are two meta2 cached ranges.
4268
- cachedRange = ds .rangeCache .GetCached (ctx , keys .RangeMetaKey (roachpb .RKey ("a" )), false )
4269
- if ! cachedRange .Desc ().StartKey .Equal (keys .Meta2Prefix ) || ! cachedRange .Desc ().EndKey .Equal (splitKey ) {
4261
+ cachedRange , err = ds .rangeCache .TestingGetCached (ctx , keys .RangeMetaKey (roachpb .RKey ("a" )), false )
4262
+ require .NoError (t , err )
4263
+ if ! cachedRange .Desc .StartKey .Equal (keys .Meta2Prefix ) || ! cachedRange .Desc .EndKey .Equal (splitKey ) {
4270
4264
t .Fatalf ("expected cached meta2 range to be [%s, %s), actual [%s, %s)" ,
4271
- keys .Meta2Prefix , splitKey , cachedRange .Desc () .StartKey , cachedRange .Desc () .EndKey )
4265
+ keys .Meta2Prefix , splitKey , cachedRange .Desc .StartKey , cachedRange .Desc .EndKey )
4272
4266
}
4273
- cachedRange = ds .rangeCache .GetCached (ctx , keys .RangeMetaKey (roachpb .RKey ("b" )), false )
4274
- if ! cachedRange .Desc ().StartKey .Equal (splitKey ) || ! cachedRange .Desc ().EndKey .Equal (testMetaEndKey ) {
4267
+ cachedRange , err = ds .rangeCache .TestingGetCached (ctx , keys .RangeMetaKey (roachpb .RKey ("b" )), false )
4268
+ require .NoError (t , err )
4269
+ if ! cachedRange .Desc .StartKey .Equal (splitKey ) || ! cachedRange .Desc .EndKey .Equal (testMetaEndKey ) {
4275
4270
t .Fatalf ("expected cached meta2 range to be [%s, %s), actual [%s, %s)" ,
4276
- splitKey , testMetaEndKey , cachedRange .Desc () .StartKey , cachedRange .Desc () .EndKey )
4271
+ splitKey , testMetaEndKey , cachedRange .Desc .StartKey , cachedRange .Desc .EndKey )
4277
4272
}
4278
4273
})
4279
4274
}
@@ -5291,9 +5286,8 @@ func TestSendToReplicasSkipsStaleReplicas(t *testing.T) {
5291
5286
},
5292
5287
},
5293
5288
})
5294
- ent , err := rc .Lookup (ctx , roachpb .RKeyMin )
5289
+ tok , err := rc .LookupWithEvictionToken (ctx , roachpb .RKeyMin , rangecache. EvictionToken {}, false )
5295
5290
require .NoError (t , err )
5296
- tok := rc .MakeEvictionToken (& ent )
5297
5291
5298
5292
numCalled := 0
5299
5293
transportFn := func (_ context.Context , ba * kvpb.BatchRequest ) (* kvpb.BatchResponse , error ) {
@@ -5349,16 +5343,16 @@ func TestSendToReplicasSkipsStaleReplicas(t *testing.T) {
5349
5343
_ , err = ds .sendToReplicas (ctx , ba , tok , false /* withCommit */ )
5350
5344
require .IsType (t , & sendError {}, err )
5351
5345
require .Regexp (t , "NotLeaseHolderError" , err )
5352
- cached := rc .GetCached (ctx , tc .initialDesc .StartKey , false /* inverted */ )
5353
- require .NotNil (t , cached )
5354
- require .Equal (t , tc .updatedDesc , * cached .Desc () )
5346
+ cached , err := rc .TestingGetCached (ctx , tc .initialDesc .StartKey , false /* inverted */ )
5347
+ require .NoError (t , err )
5348
+ require .Equal (t , tc .updatedDesc , cached .Desc )
5355
5349
require .Equal (t , tc .expReplicasTried , numCalled )
5356
5350
if tc .expLeaseholder == 0 {
5357
5351
// Check that the leaseholder is cleared out.
5358
- require .Nil (t , cached .Leaseholder ())
5352
+ require .True (t , cached .Lease . Empty ())
5359
5353
} else {
5360
- require .NotNil (t , cached .Leaseholder () )
5361
- require .Equal (t , tc .expLeaseholder , cached .Leaseholder () .ReplicaID )
5354
+ require .NotNil (t , cached .Lease )
5355
+ require .Equal (t , tc .expLeaseholder , cached .Lease . Replica .ReplicaID )
5362
5356
}
5363
5357
})
5364
5358
})
0 commit comments