basho / riak_kv

Riak Key/Value Store
Apache License 2.0
653 stars 233 forks source link

Handoff and Delete #1850

Closed martinsumner closed 1 year ago

martinsumner commented 1 year ago

The basic delete process is:

During handoffs, delete requests are not forwarded. So a delete during the handoff, will prompt the PUT of a tombstone (which is forwarded to the receiving vnode), but will only reap on the sending vnode. After a handoff, if there are deletes during the handoff, then there may be tombstones on the new (receiving) vnode - that will lead to AAE activity.

The code comment states explicitly that deletes are not forwarded, but does not explain why they cannot be forwarded. As there is a check that the object is a tombstone before reaping, it is not obviously unsafe.

martinsumner commented 1 year ago

https://github.com/basho/riak_kv/pull/1851