Skip to content

Commit f852675

Browse files
committed
internal/testkeys: use uint64 in Keyspace interface
Update the testkeys Keyspace interface to use uint64s for indexing keys. This is in preparation for using crrand.Perm64s for shuffling keys.
1 parent 8c6f425 commit f852675

22 files changed

+126
-126
lines changed

batch_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1617,7 +1617,7 @@ func TestBatchSpanCaching(t *testing.T) {
16171617

16181618
ks := testkeys.Alpha(1)
16191619
b := d.NewIndexedBatch()
1620-
for i := int64(0); i < ks.Count(); i++ {
1620+
for i := uint64(0); i < ks.Count(); i++ {
16211621
k := testkeys.Key(ks, i)
16221622
require.NoError(t, b.Set(k, k, nil))
16231623
}
@@ -1639,8 +1639,8 @@ func TestBatchSpanCaching(t *testing.T) {
16391639
// with narrow bounds from left to right. Iterators are created at random,
16401640
// sometimes from the batch and sometimes by cloning existing iterators.
16411641

1642-
checkIter := func(iter *Iterator, nextKey int64) {
1643-
var i int64
1642+
checkIter := func(iter *Iterator, nextKey uint64) {
1643+
var i uint64
16441644
for valid := iter.First(); valid; valid = iter.Next() {
16451645
hasPoint, hasRange := iter.HasPointAndRange()
16461646
require.Equal(t, testkeys.Key(ks, i), iter.Key())
@@ -1669,7 +1669,7 @@ func TestBatchSpanCaching(t *testing.T) {
16691669
// expected: some prefix of only point keys, followed by a suffix of only
16701670
// range keys. Iterators created through Clone should observe the point keys
16711671
// that existed when the cloned iterator was created.
1672-
for nextWriteKey := int64(0); nextWriteKey < ks.Count(); {
1672+
for nextWriteKey := uint64(0); nextWriteKey < ks.Count(); {
16731673
p := rng.Float64()
16741674
switch {
16751675
case p < .10: /* 10 % */
@@ -1688,7 +1688,7 @@ func TestBatchSpanCaching(t *testing.T) {
16881688
default: /* 45 % */
16891689
// Create a new iterator through cloning a random existing iterator
16901690
// and check that it observes the right state.
1691-
readKey := rng.Int64N(nextWriteKey + 1)
1691+
readKey := rng.Uint64N(nextWriteKey + 1)
16921692
itersForReadKey := iters[readKey]
16931693
if len(itersForReadKey) == 0 {
16941694
continue

data_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,7 @@ func runPopulateCmd(t *testing.T, td *datadriven.TestData, b *Batch) {
14361436
ks := testkeys.Alpha(maxKeyLength)
14371437
buf := make([]byte, ks.MaxLen()+testkeys.MaxSuffixLen)
14381438
vbuf := make([]byte, valLength)
1439-
for i := int64(0); i < ks.Count(); i++ {
1439+
for i := uint64(0); i < ks.Count(); i++ {
14401440
for _, ts := range timestamps {
14411441
n := testkeys.WriteKeyAt(buf, ks, i, int64(ts))
14421442

error_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ func TestDBCompactionCrash(t *testing.T) {
495495
done:
496496
for _, ts := range timestamps {
497497
for _, i := range perm {
498-
n := testkeys.WriteKeyAt(buf, ks, int64(i), int64(ts))
498+
n := testkeys.WriteKeyAt(buf, ks, uint64(i), int64(ts))
499499
for j := range vbuf {
500500
vbuf[j] = byte(rng.Uint32())
501501
}

external_iterator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func BenchmarkExternalIter_NonOverlapping_Scan(b *testing.B) {
148148
require.NoError(b, err)
149149
w := sstable.NewWriter(objstorageprovider.NewFileWritable(wf), writeOpts)
150150
for j := 0; j < keyCount/fileCount; j++ {
151-
key := testkeys.Key(ks, int64(len(keys)))
151+
key := testkeys.Key(ks, uint64(len(keys)))
152152
keys = append(keys, key)
153153
for i := range valBuf {
154154
valBuf[i] = byte(prng.Uint32())

internal/keyspan/defragment_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ func testDefragmentingIteRandomizedOnce(t *testing.T, seed int64) {
121121
var original, fragmented []Span
122122
numRangeKeys := 1 + rng.IntN(maxRangeKeys)
123123
for i := 0; i < numRangeKeys; i++ {
124-
startIdx := rng.Int64N(ks.Count())
125-
endIdx := rng.Int64N(ks.Count())
124+
startIdx := rng.Uint64N(ks.Count())
125+
endIdx := rng.Uint64N(ks.Count())
126126
for startIdx == endIdx {
127-
endIdx = rng.Int64N(ks.Count())
127+
endIdx = rng.Uint64N(ks.Count())
128128
}
129129
if startIdx > endIdx {
130130
startIdx, endIdx = endIdx, startIdx
@@ -145,7 +145,7 @@ func testDefragmentingIteRandomizedOnce(t *testing.T, seed int64) {
145145
})
146146

147147
for startIdx < endIdx {
148-
width := rng.Int64N(endIdx-startIdx) + 1
148+
width := rng.Uint64N(endIdx-startIdx) + 1
149149
fragmented = append(fragmented, Span{
150150
Start: testkeys.Key(ks, startIdx),
151151
End: testkeys.Key(ks, startIdx+width),
@@ -176,11 +176,11 @@ func testDefragmentingIteRandomizedOnce(t *testing.T, seed int64) {
176176
{weight: 50, fn: func() string { return "next" }},
177177
{weight: 50, fn: func() string { return "prev" }},
178178
{weight: 5, fn: func() string {
179-
k := testkeys.Key(ks, rng.Int64N(ks.Count()))
179+
k := testkeys.Key(ks, rng.Uint64N(ks.Count()))
180180
return fmt.Sprintf("seekge(%s)", k)
181181
}},
182182
{weight: 5, fn: func() string {
183-
k := testkeys.Key(ks, rng.Int64N(ks.Count()))
183+
k := testkeys.Key(ks, rng.Uint64N(ks.Count()))
184184
return fmt.Sprintf("seeklt(%s)", k)
185185
}},
186186
}

internal/keyspan/keyspanimpl/merging_iter_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,10 @@ func testFragmenterEquivalenceOnce(t *testing.T, seed int64) {
119119
var buf bytes.Buffer
120120
for l := 0; l < len(levels); l++ {
121121
fmt.Fprintf(&buf, "level %d: ", l)
122-
for keyspaceStartIdx := int64(0); keyspaceStartIdx < ks.Count(); {
122+
for keyspaceStartIdx := uint64(0); keyspaceStartIdx < ks.Count(); {
123123
// Generate spans of lengths of up to a third of the keyspace.
124-
spanStartIdx := keyspaceStartIdx + rng.Int64N(ks.Count()/3)
125-
spanEndIdx := spanStartIdx + rng.Int64N(ks.Count()/3) + 1
124+
spanStartIdx := keyspaceStartIdx + rng.Uint64N(ks.Count()/3)
125+
spanEndIdx := spanStartIdx + rng.Uint64N(ks.Count()/3) + 1
126126

127127
if spanEndIdx < ks.Count() {
128128
keyCount := uint64(rng.IntN(3) + 1)
@@ -202,13 +202,13 @@ func testFragmenterEquivalenceOnce(t *testing.T, seed int64) {
202202
return "Last()", must(fragmenterIter.Last()), must(mergingIter.Last())
203203
}},
204204
{weight: 5, fn: func() (string, *keyspan.Span, *keyspan.Span) {
205-
k := testkeys.Key(ks, rng.Int64N(ks.Count()))
205+
k := testkeys.Key(ks, rng.Uint64N(ks.Count()))
206206
return fmt.Sprintf("SeekGE(%q)", k),
207207
must(fragmenterIter.SeekGE(k)),
208208
must(mergingIter.SeekGE(k))
209209
}},
210210
{weight: 5, fn: func() (string, *keyspan.Span, *keyspan.Span) {
211-
k := testkeys.Key(ks, rng.Int64N(ks.Count()))
211+
k := testkeys.Key(ks, rng.Uint64N(ks.Count()))
212212
return fmt.Sprintf("SeekLT(%q)", k),
213213
must(fragmenterIter.SeekLT(k)),
214214
must(mergingIter.SeekLT(k))

internal/manifest/l0_sublevels_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ func TestAddL0FilesEquivalence(t *testing.T) {
524524
if rng.Float64() <= keyReusePct && len(inUseKeys) > 0 {
525525
keys = append(keys, inUseKeys[rng.IntN(len(inUseKeys))])
526526
} else {
527-
newKey := testkeys.Key(keySpace, rng.Int64N(keySpace.Count()))
527+
newKey := testkeys.Key(keySpace, rng.Uint64N(keySpace.Count()))
528528
inUseKeys = append(inUseKeys, newKey)
529529
keys = append(keys, newKey)
530530
}

internal/manifest/level_metadata_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ func makeTestTableMetadata() (tables []*TableMetadata, keys [][]byte) {
170170
// The smallest and largest boundary keys of synthesized TableMetadata are
171171
// identical, using the odd-indexed key as the user key and the index itself
172172
// as the sequence number.
173-
for i := int64(0); i < countTables; i++ {
173+
for i := uint64(0); i < countTables; i++ {
174174
var userKey []byte
175175
var n int
176176
// Generate a key. The first key is appended to `keys`, but doesn't

internal/manifest/manifest_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ func TestInuseKeyRangesRandomized(t *testing.T) {
5454
smallest := make([]byte, maxKeyLen+testkeys.MaxSuffixLen)
5555
largest := make([]byte, maxKeyLen+testkeys.MaxSuffixLen)
5656
for i := 0; i < 1000; i++ {
57-
n := testkeys.WriteKeyAt(smallest[:cap(smallest)], ks, rng.Int64N(ks.Count()), rng.Int64N(maxSuffix))
57+
n := testkeys.WriteKeyAt(smallest[:cap(smallest)], ks, rng.Uint64N(ks.Count()), rng.Int64N(maxSuffix))
5858
smallest = smallest[:n]
59-
n = testkeys.WriteKeyAt(largest[:cap(largest)], ks, rng.Int64N(ks.Count()), rng.Int64N(maxSuffix))
59+
n = testkeys.WriteKeyAt(largest[:cap(largest)], ks, rng.Uint64N(ks.Count()), rng.Int64N(maxSuffix))
6060
largest = largest[:n]
6161
if testOpts.Opts.Comparer.Compare(smallest, largest) > 0 {
6262
smallest, largest = largest, smallest

internal/rangekeystack/user_iterator_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,10 @@ func testDefragmentingIteRandomizedOnce(t *testing.T, seed int64) {
159159
var original, fragmented []keyspan.Span
160160
numRangeKeys := 1 + rng.IntN(maxRangeKeys)
161161
for i := 0; i < numRangeKeys; i++ {
162-
startIdx := rng.Int64N(ks.Count())
163-
endIdx := rng.Int64N(ks.Count())
162+
startIdx := rng.Uint64N(ks.Count())
163+
endIdx := rng.Uint64N(ks.Count())
164164
for startIdx == endIdx {
165-
endIdx = rng.Int64N(ks.Count())
165+
endIdx = rng.Uint64N(ks.Count())
166166
}
167167
if startIdx > endIdx {
168168
startIdx, endIdx = endIdx, startIdx
@@ -183,7 +183,7 @@ func testDefragmentingIteRandomizedOnce(t *testing.T, seed int64) {
183183
})
184184

185185
for startIdx < endIdx {
186-
width := rng.Int64N(endIdx-startIdx) + 1
186+
width := rng.Uint64N(endIdx-startIdx) + 1
187187
fragmented = append(fragmented, keyspan.Span{
188188
Start: testkeys.Key(ks, startIdx),
189189
End: testkeys.Key(ks, startIdx+width),
@@ -220,11 +220,11 @@ func testDefragmentingIteRandomizedOnce(t *testing.T, seed int64) {
220220
{weight: 50, fn: func() string { return "next" }},
221221
{weight: 50, fn: func() string { return "prev" }},
222222
{weight: 5, fn: func() string {
223-
k := testkeys.Key(ks, rng.Int64N(ks.Count()))
223+
k := testkeys.Key(ks, rng.Uint64N(ks.Count()))
224224
return fmt.Sprintf("seekge(%s)", k)
225225
}},
226226
{weight: 5, fn: func() string {
227-
k := testkeys.Key(ks, rng.Int64N(ks.Count()))
227+
k := testkeys.Key(ks, rng.Uint64N(ks.Count()))
228228
return fmt.Sprintf("seeklt(%s)", k)
229229
}},
230230
}

0 commit comments

Comments
 (0)