tikv/raft-engine

Key value tombstone is lost during rewrite

開放

#141 建立於 2021年11月8日

 (0 則留言) (0 個反應) (0 位負責人)Rust (106 個分叉)auto 404
bughelp wanted

倉庫指標

星標
 (632 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Bug Report

Description

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.

貢獻者指南