region_cache: rename LocateBucketV2 to LocateBucket and let the old LocateBucket be the internal function of the new LocateBucket (#496)

Signed-off-by: SpadeA-Tang <u6748471@anu.edu.au>
This commit is contained in:
Spade A 2022-05-13 15:26:07 +08:00 committed by GitHub
parent ff5e35ac28
commit 2be4a58dbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 16 deletions

View File

@ -755,13 +755,13 @@ func (l *KeyLocation) GetBucketVersion() uint64 {
return l.Buckets.GetVersion()
}
// LocateBucketV2 will not return nil if the key is in the region.
// LocateBucketV2 is similar with LocateBucket. The difference is that when the key is in [KeyLocation.StartKey, first Bucket key)
// it will return Bucket{KeyLocation.StartKey, first Bucket key} rather than nil --- it's reasonable to assume that
// Bucket{KeyLocation.StartKey, first Bucket key} is a bucket belonging to the region. Key in [last Bucket key, KeyLocation.EndKey)
// is handled similarly.
func (l *KeyLocation) LocateBucketV2(key []byte) *Bucket {
bucket := l.LocateBucket(key)
// LocateBucket calls locateBucket and check the result.
// When the key is in [KeyLocation.StartKey, first Bucket key), the result returned by locateBucket will be nil
// as there's no bucket containing this key. LocateBucket will return Bucket{KeyLocation.StartKey, first Bucket key}
// --- it's reasonable to assume that Bucket{KeyLocation.StartKey, first Bucket key} is a bucket belonging to the region.
// Key in [last Bucket key, KeyLocation.EndKey) is handled similarly.
func (l *KeyLocation) LocateBucket(key []byte) *Bucket {
bucket := l.locateBucket(key)
if bucket != nil || !l.Contains(key) {
return bucket
}
@ -789,8 +789,8 @@ func (l *KeyLocation) LocateBucketV2(key []byte) *Bucket {
return bucket
}
// LocateBucket returns the bucket the key is located.
func (l *KeyLocation) LocateBucket(key []byte) *Bucket {
// locateBucket returns the bucket the key is located.
func (l *KeyLocation) locateBucket(key []byte) *Bucket {
keys := l.Buckets.GetKeys()
searchLen := len(keys) - 1
i := sort.Search(searchLen, func(i int) bool {

View File

@ -1411,14 +1411,14 @@ func (s *testRegionCacheSuite) TestBuckets() {
buckets := cachedRegion.getStore().buckets
s.Equal(defaultBuckets, buckets)
// test LocateBucket
// test locateBucket
loc, err := s.cache.LocateKey(s.bo, []byte("a"))
s.NotNil(loc)
s.Nil(err)
s.Equal(buckets, loc.Buckets)
s.Equal(buckets.GetVersion(), loc.GetBucketVersion())
for _, key := range [][]byte{{}, {'a' - 1}, []byte("a"), []byte("a0"), []byte("b"), []byte("c")} {
b := loc.LocateBucket(key)
b := loc.locateBucket(key)
s.NotNil(b)
s.True(b.Contains(key))
}
@ -1426,7 +1426,7 @@ func (s *testRegionCacheSuite) TestBuckets() {
loc.Buckets = proto.Clone(loc.Buckets).(*metapb.Buckets)
loc.Buckets.Keys = [][]byte{[]byte("b"), []byte("c"), []byte("d")}
for _, key := range [][]byte{[]byte("a"), []byte("d"), []byte("e")} {
b := loc.LocateBucket(key)
b := loc.locateBucket(key)
s.Nil(b)
}
@ -1506,7 +1506,7 @@ func (s *testRegionCacheSuite) TestBuckets() {
waitUpdateBuckets(newBuckets, []byte("a"))
}
func (s *testRegionCacheSuite) TestLocateBucketV2() {
func (s *testRegionCacheSuite) TestLocateBucket() {
// proto.Clone clones []byte{} to nil and [][]byte{nil or []byte{}} to [][]byte{[]byte{}}.
// nilToEmtpyBytes unifies it for tests.
nilToEmtpyBytes := func(s []byte) []byte {
@ -1525,7 +1525,7 @@ func (s *testRegionCacheSuite) TestLocateBucketV2() {
s.NotNil(loc)
s.Nil(err)
for _, key := range [][]byte{{}, {'a' - 1}, []byte("a"), []byte("a0"), []byte("b"), []byte("c")} {
b := loc.LocateBucket(key)
b := loc.locateBucket(key)
s.NotNil(b)
s.True(b.Contains(key))
}
@ -1542,9 +1542,9 @@ func (s *testRegionCacheSuite) TestLocateBucketV2() {
s.NotNil(loc)
s.Nil(err)
for _, key := range [][]byte{{'a' - 1}, []byte("c")} {
b := loc.LocateBucket(key)
b := loc.locateBucket(key)
s.Nil(b)
b = loc.LocateBucketV2(key)
b = loc.LocateBucket(key)
s.NotNil(b)
s.True(b.Contains(key))
}