@@ -39,7 +39,7 @@ func TestFingerprint(t *testing.T) {
3939 var mu syncutil.Mutex
4040 var numExportResponses int
4141 var numSSTsInExportResponses int
42- s , sqlDB , db := serverutils .StartServer (t , base.TestServerArgs {
42+ srv , sqlDB , db := serverutils .StartServer (t , base.TestServerArgs {
4343 Knobs : base.TestingKnobs {
4444 Store : & kvserver.StoreTestingKnobs {
4545 TestingResponseFilter : func (ctx context.Context , ba * kvpb.BatchRequest , br * kvpb.BatchResponse ) * kvpb.Error {
@@ -57,7 +57,12 @@ func TestFingerprint(t *testing.T) {
5757 },
5858 },
5959 })
60- defer s .Stopper ().Stop (ctx )
60+ defer srv .Stopper ().Stop (ctx )
61+ s := srv .ApplicationLayer ()
62+
63+ makeKey := func (k string ) roachpb.Key {
64+ return append (append (roachpb .Key (nil ), s .Codec ().TenantPrefix ()... ), roachpb .Key (k )... )
65+ }
6166
6267 resetVars := func () {
6368 mu .Lock ()
@@ -69,7 +74,7 @@ func TestFingerprint(t *testing.T) {
6974 returnPointAndRangeKeys := func (eng storage.Engine ) ([]storage.MVCCKeyValue , []storage.MVCCRangeKey ) {
7075 var rangeKeys []storage.MVCCRangeKey
7176 var pointKeys []storage.MVCCKeyValue
72- for _ , kvI := range storageutils .ScanKeySpan (t , eng , roachpb . Key ("a" ), roachpb . Key ("z" )) {
77+ for _ , kvI := range storageutils .ScanKeySpan (t , eng , makeKey ("a" ), makeKey ("z" )) {
7378 switch kv := kvI .(type ) {
7479 case storage.MVCCRangeKeyValue :
7580 rangeKeys = append (rangeKeys , kv .RangeKey )
@@ -88,7 +93,7 @@ func TestFingerprint(t *testing.T) {
8893 aost := endTime .AsOfSystemTime ()
8994 var fingerprint int64
9095 query := fmt .Sprintf (`SELECT * FROM crdb_internal.fingerprint(ARRAY[$1::BYTES, $2::BYTES],$3::DECIMAL, $4) AS OF SYSTEM TIME '%s'` , aost )
91- require .NoError (t , sqlDB .QueryRow (query , roachpb . Key (startKey ), roachpb . Key (endKey ),
96+ require .NoError (t , sqlDB .QueryRow (query , makeKey (startKey ), makeKey (endKey ),
9297 startTime .AsOfSystemTime (), allRevisions ).Scan (& fingerprint ))
9398 return fingerprint
9499 }
@@ -105,22 +110,22 @@ func TestFingerprint(t *testing.T) {
105110 require .Zero (t , fingerprint )
106111 })
107112
108- store , err := s .GetStores ().(* kvserver.Stores ).GetStore (s .GetFirstStoreID ())
113+ store , err := srv .GetStores ().(* kvserver.Stores ).GetStore (srv .GetFirstStoreID ())
109114 require .NoError (t , err )
110115 eng := store .TODOEngine ()
111116
112117 // Insert some point keys.
113118 txn := db .NewTxn (ctx , "test-point-keys" )
114119 pointKeysTS := hlc.Timestamp {WallTime : timeutil .Now ().Round (time .Microsecond ).UnixNano ()}
115120 require .NoError (t , txn .SetFixedTimestamp (ctx , pointKeysTS ))
116- require .NoError (t , txn .Put (ctx , "a" , "value" ))
117- require .NoError (t , txn .Put (ctx , "b" , "value" ))
118- require .NoError (t , txn .Put (ctx , "c" , "value" ))
119- require .NoError (t , txn .Put (ctx , "d" , "value" ))
121+ require .NoError (t , txn .Put (ctx , makeKey ( "a" ) , "value" ))
122+ require .NoError (t , txn .Put (ctx , makeKey ( "b" ) , "value" ))
123+ require .NoError (t , txn .Put (ctx , makeKey ( "c" ) , "value" ))
124+ require .NoError (t , txn .Put (ctx , makeKey ( "d" ) , "value" ))
120125 require .NoError (t , txn .Commit (ctx ))
121126
122127 // Run a scan to force intent resolution.
123- _ , err = db .Scan (ctx , "a" , "z" , 0 )
128+ _ , err = db .Scan (ctx , makeKey ( "a" ), makeKey ( "z" ) , 0 )
124129 require .NoError (t , err )
125130
126131 pointKeys , rangeKeys := returnPointAndRangeKeys (eng )
@@ -144,15 +149,15 @@ func TestFingerprint(t *testing.T) {
144149 //
145150 // ts1 value value value value
146151 // a b c d
147- require .NoError (t , db .DelRangeUsingTombstone (ctx , "a" , "c" ))
152+ require .NoError (t , db .DelRangeUsingTombstone (ctx , makeKey ( "a" ), makeKey ( "c" ) ))
148153 pointKeys , rangeKeys = returnPointAndRangeKeys (eng )
149154 require .Len (t , pointKeys , 4 )
150155 require .Len (t , rangeKeys , 1 )
151156 rangeKey1Timestamp := rangeKeys [0 ].Timestamp
152157 // Note, the timestamp comparison is a noop here but we need the timestamp for
153158 // future AOST fingerprint queries.
154159 require .Equal (t , []storage.MVCCRangeKey {
155- storageutils .RangeKeyWithTS ("a" , "c" , rangeKey1Timestamp ),
160+ storageutils .RangeKeyWithTS (string ( makeKey ( "a" )), string ( makeKey ( "c" )) , rangeKey1Timestamp ),
156161 }, rangeKeys )
157162
158163 // Fingerprint the point and range keys.
@@ -176,16 +181,16 @@ func TestFingerprint(t *testing.T) {
176181 //
177182 // ts1 value value value value
178183 // a b c d
179- require .NoError (t , db .DelRangeUsingTombstone (ctx , "b" , "d" ))
184+ require .NoError (t , db .DelRangeUsingTombstone (ctx , makeKey ( "b" ), makeKey ( "d" ) ))
180185 pointKeys , rangeKeys = returnPointAndRangeKeys (eng )
181186 require .Len (t , pointKeys , 4 )
182187 require .Len (t , rangeKeys , 4 )
183188 rangeKey2Timestamp := rangeKeys [1 ].Timestamp
184189 require .Equal (t , []storage.MVCCRangeKey {
185- storageutils .RangeKeyWithTS ("a" , "b" , rangeKey1Timestamp ),
186- storageutils .RangeKeyWithTS ("b" , "c" , rangeKey2Timestamp ),
187- storageutils .RangeKeyWithTS ("b" , "c" , rangeKey1Timestamp ),
188- storageutils .RangeKeyWithTS ("c" , "d" , rangeKey2Timestamp ),
190+ storageutils .RangeKeyWithTS (string ( makeKey ( "a" )), string ( makeKey ( "b" )) , rangeKey1Timestamp ),
191+ storageutils .RangeKeyWithTS (string ( makeKey ( "b" )), string ( makeKey ( "c" )) , rangeKey2Timestamp ),
192+ storageutils .RangeKeyWithTS (string ( makeKey ( "b" )), string ( makeKey ( "c" )) , rangeKey1Timestamp ),
193+ storageutils .RangeKeyWithTS (string ( makeKey ( "c" )), string ( makeKey ( "d" )) , rangeKey2Timestamp ),
189194 }, rangeKeys )
190195
191196 // Even with the fragmentation of the first range key, our fingerprint for the
@@ -202,7 +207,7 @@ func TestFingerprint(t *testing.T) {
202207 require .Equal (t , 1 , numSSTsInExportResponses )
203208 require .Equal (t , 1 , numExportResponses )
204209
205- require .NoError (t , db .AdminSplit (ctx , "c" , hlc .MaxTimestamp ))
210+ require .NoError (t , db .AdminSplit (ctx , makeKey ( "c" ) , hlc .MaxTimestamp ))
206211
207212 resetVars ()
208213 fingerprintPostSplit := fingerprint (t , "a" , "z" , pointKeysTS .Add (int64 (- time .Microsecond ), 0 ),
0 commit comments