facebook / facebook/rocksdb

Support DeleteRange in transactions

Open
#4,812 11 comments 3 reactions 0 assignees View on GitHub
up-for-grabs
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

Now that DeleteRange is performant, it would be nice to support it in transactions as well.
Summary of the essential changes:
1. Finding the last visible RangeDelete tombstone needs to be updated to make use of ReadCallback::IsVisible same as the regular reads.
https://github.com/facebook/rocksdb/blob/106a94af1552ba6eb89cfe08fd4f92c2078af463/db/range_tombstone_fragmenter.cc#L311
2. WritePrepared tests assumed the key cannot be RangeDelete. The tests must be updated to add RangeDelete type anywhere Delete and SingleDelete is used: https://github.com/facebook/rocksdb/blob/master/utilities/transactions/write_prepared_transaction_test.cc#L513
3. Finally the existing tests for range delete should be extended to include transactions (extended with ::DeleteRange) API as well.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.