You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During Append queue rewrite, key value pairs of targeted Raft groups are scanned out and rewritten to Rewrite queue. After that, data files in Append queue is deleted.
However, in this process, key value tombstones (delete key operation) can't be detected and rewritten. Suppose rewrite is triggered after a Put and before a later Delete, the old key value is stored in Rewrite queue, but the subsequent deletion marker is purged from Append queue. When the engine restarts, the old key value will re-surface.
Right now, TiKV doesn't use kv delete API, so this bug is of minor urgency.
The text was updated successfully, but these errors were encountered:
Overhaul unit tests for engine. Discover and fix several bugs:
- First rewrite entry could have larger index than first append entry, and causes panic
- Region tombstone in append queue is not applied to rewrite queue during recovery
- [NOT FIXED] State tombstone is lost during rewrite #141
- Rewrite queue log index could jump back, and causes panic
- [NOT FIXED] Recreated region is deleted after rewrite #142
Signed-off-by: tabokie <xy.tao@outlook.com>
Bug Report
Description
During
Append
queue rewrite, key value pairs of targeted Raft groups are scanned out and rewritten toRewrite
queue. After that, data files inAppend
queue is deleted.However, in this process, key value tombstones (delete key operation) can't be detected and rewritten. Suppose rewrite is triggered after a
Put
and before a laterDelete
, the old key value is stored inRewrite
queue, but the subsequent deletion marker is purged fromAppend
queue. When the engine restarts, the old key value will re-surface.Right now, TiKV doesn't use kv delete API, so this bug is of minor urgency.
The text was updated successfully, but these errors were encountered: