Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ensure
bitValuePointer
flag is cleared for LSM entry values written…
… to LSM (hypermodeinc#1313) (hypermodeinc#1501) When restoring a backup that was written with a lower `ValueThreshold` to a DB instance with a higher `ValueThreshold`, some entry values originally written to the value log in the backup DB will be written to the LSM along with the key when restored to the new DB. The `meta` field for those entries is not updated to reflect the correct value storage state. Those entries still have the `bitValuePointer` flag set. That causes `iterator.prefetch` to fail while looking up the value for those entries. This fix ensures the `meta` `bitValuePointer` is cleared when entry values are stored in the LSM. The original error can be reproduced by running the included `TestLSMVPClear` test after reverting the line 687 `db.go` change to clear the `bitValuePointer` flag. (cherry picked from commit 9459a24) Co-authored-by: Julian Hegler <[email protected]>
- Loading branch information