Skip to content

Commit 4a8ca09

Browse files
authored
CBG-4912 fix the RTE algorithm (#7808)
1 parent f18b359 commit 4a8ca09

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

db/hybrid_logical_vector.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"fmt"
1616
"iter"
1717
"maps"
18-
"math/bits"
1918
"slices"
2019
"sort"
2120
"strconv"
@@ -981,12 +980,13 @@ func LegacyRevToRevTreeEncodedVersion(legacyRev string) (Version, error) {
981980
// trim to 40 bits (10 hex characters)
982981
if len(digest) > 10 {
983982
digest = digest[:10]
983+
} else if len(digest) < 10 {
984+
digest += strings.Repeat("0", 10-len(digest))
984985
}
985986
value, err := strconv.ParseUint(digest, 16, 64)
986987
if err != nil {
987988
return Version{}, err
988989
}
989-
value = value << (40 - bits.Len64(value)) // right pad zeros
990990
return Version{
991991
SourceID: encodedRevTreeSourceID,
992992
Value: (uint64(generation) << 40) | value,

db/hybrid_logical_vector_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1712,6 +1712,10 @@ func TestLegacyRevToVersion(t *testing.T) {
17121712
legacyRev: "16777217-abcd",
17131713
version: "1abcd000000@Revision+Tree+Encoding",
17141714
},
1715+
{
1716+
legacyRev: "1-345d1331e65b3d965502c924d70e12337e0ea966",
1717+
version: "1345d1331e6@Revision+Tree+Encoding",
1718+
},
17151719
}
17161720
for _, tc := range testCases {
17171721
t.Run(tc.legacyRev, func(t *testing.T) {

0 commit comments

Comments
 (0)