File tree Expand file tree Collapse file tree 1 file changed +14
-7
lines changed
Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -262,18 +262,25 @@ func (s Store) fixDataStore(storeName string, dryRun bool) error {
262262 prefix := storePrefix (storeName )
263263 readOpts := grocksdb .NewDefaultReadOptions ()
264264 defer readOpts .Destroy ()
265+
266+ cacheKeyValues := make (map [string ][]byte )
265267 for _ , pair := range pairs {
266268 realKey := cloneAppend (prefix , pair .Key )
267269
268- readOpts .SetTimestamp (pair .Timestamp )
269- oldValue , err := s .db .GetCF (readOpts , s .cfHandle , realKey )
270- if err != nil {
271- return err
272- }
270+ oldData , ok := cacheKeyValues [string (realKey )]
271+ if ! ok {
272+ readOpts .SetTimestamp (pair .Timestamp )
273+ oldValue , err := s .db .GetCF (readOpts , s .cfHandle , realKey )
274+ if err != nil {
275+ return err
276+ }
273277
274- clean := bytes .Equal (oldValue .Data (), pair .Value )
275- oldValue .Free ()
278+ oldData = oldValue .Data ()
279+ oldValue .Free ()
280+ cacheKeyValues [string (realKey )] = oldData
281+ }
276282
283+ clean := bytes .Equal (oldData , pair .Value )
277284 if clean {
278285 continue
279286 }
You can’t perform that action at this time.
0 commit comments