Skip to content

Commit 8593e8f

Browse files
committed
kvclient: don't return a cache.Entry from GetCachedOverlapping
The cache.Entry is not intended to be public, instead return a RangeInfo. Epic: none Release note: None
1 parent 09fb2a8 commit 8593e8f

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

pkg/kv/kvclient/rangecache/range_cache.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -622,13 +622,13 @@ func (rc *RangeCache) Lookup(ctx context.Context, key roachpb.RKey) (roachpb.Ran
622622

623623
// GetCachedOverlapping returns all the cached entries which overlap a given
624624
// span [Key, EndKey). The results are sorted ascendingly.
625-
func (rc *RangeCache) GetCachedOverlapping(ctx context.Context, span roachpb.RSpan) []*cacheEntry {
625+
func (rc *RangeCache) GetCachedOverlapping(ctx context.Context, span roachpb.RSpan) []roachpb.RangeInfo {
626626
rc.rangeCache.RLock()
627627
defer rc.rangeCache.RUnlock()
628628
rawEntries := rc.getCachedOverlappingRLocked(ctx, span)
629-
entries := make([]*cacheEntry, len(rawEntries))
629+
entries := make([]roachpb.RangeInfo, len(rawEntries))
630630
for i, e := range rawEntries {
631-
entries[i] = rc.getValue(e)
631+
entries[i] = rc.getValue(e).toRangeInfo()
632632
}
633633
return entries
634634
}

pkg/kv/kvclient/rangecache/range_cache_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,7 +1219,7 @@ func TestRangeCacheClearOlderOverlapping(t *testing.T) {
12191219
if len(all) != 0 {
12201220
allDescs = make([]roachpb.RangeDescriptor, len(all))
12211221
for i, e := range all {
1222-
allDescs[i] = e.desc
1222+
allDescs[i] = e.Desc
12231223
}
12241224
}
12251225
var newerDesc roachpb.RangeDescriptor
@@ -1877,8 +1877,8 @@ func TestRangeCacheSyncTokenAndMaybeUpdateCache(t *testing.T) {
18771877
ctx, roachpb.RSpan{Key: roachpb.RKeyMin, EndKey: roachpb.RKeyMax},
18781878
)
18791879
require.Equal(t, 1, len(entries))
1880-
require.Equal(t, incompatibleDescriptor, entries[0].desc)
1881-
require.Equal(t, l, entries[0].lease)
1880+
require.Equal(t, incompatibleDescriptor, entries[0].Desc)
1881+
require.Equal(t, l, entries[0].Lease)
18821882
},
18831883
},
18841884
{
@@ -1911,8 +1911,8 @@ func TestRangeCacheSyncTokenAndMaybeUpdateCache(t *testing.T) {
19111911
ctx, roachpb.RSpan{Key: roachpb.RKeyMin, EndKey: roachpb.RKeyMax},
19121912
)
19131913
require.Equal(t, 1, len(entries))
1914-
require.Equal(t, desc2, entries[0].desc)
1915-
require.Equal(t, l, entries[0].lease)
1914+
require.Equal(t, desc2, entries[0].Desc)
1915+
require.Equal(t, l, entries[0].Lease)
19161916
},
19171917
},
19181918
{

pkg/sql/execinfra/readerbase.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,24 +66,20 @@ func MisplannedRanges(
6666
overlapping := rdc.GetCachedOverlapping(ctx, rSpan)
6767

6868
for _, ri := range overlapping {
69-
if _, ok := misplanned[ri.Desc().RangeID]; ok {
69+
if _, ok := misplanned[ri.Desc.RangeID]; ok {
7070
// We're already returning info about this range.
7171
continue
7272
}
7373
// Ranges with unknown leases are not returned, as the current node might
7474
// actually have the lease without the local cache knowing about it.
75-
l := ri.Lease()
76-
if l != nil && l.Replica.NodeID != nodeID {
77-
misplannedRanges = append(misplannedRanges, roachpb.RangeInfo{
78-
Desc: *ri.Desc(),
79-
Lease: *l,
80-
ClosedTimestampPolicy: ri.ClosedTimestampPolicy(),
81-
})
75+
l := ri.Lease
76+
if !l.Empty() && l.Replica.NodeID != nodeID {
77+
misplannedRanges = append(misplannedRanges, ri)
8278

8379
if misplanned == nil {
8480
misplanned = make(map[roachpb.RangeID]struct{})
8581
}
86-
misplanned[ri.Desc().RangeID] = struct{}{}
82+
misplanned[ri.Desc.RangeID] = struct{}{}
8783
}
8884
}
8985
}

0 commit comments

Comments
 (0)