rocksdb/db/compaction
Levi Tamasi 876d281592 Add compaction filter support for wide-column entities (#11196)
Summary:
The patch adds compaction filter support for wide-column entities by introducing
a new `CompactionFilter` API called `FilterV3`. This API is called for regular
key-values, merge operands, and wide-column entities as well. It is passed the
existing value/operand or wide-column structure and it can update the value or
columns or keep/delete/etc. the key-value as usual. For compatibility, the default
implementation of `FilterV3` keeps all wide-column entities and falls back to calling
`FilterV2` for plain old key-values and merge operands.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/11196

Test Plan: `make check`

Reviewed By: akankshamahajan15

Differential Revision: D43094147

Pulled By: ltamasi

fbshipit-source-id: 75acabe9a35254f7f404ba6173ee9c2774382ebd
2023-02-07 16:17:39 -08:00
..
clipping_iterator.h Revert #10802 Consider range tombstone in compaction output file cutting (#11089) 2023-01-13 12:28:21 -08:00
clipping_iterator_test.cc Print stack traces on frozen tests in CI (#10828) 2022-10-18 00:35:35 -07:00
compaction.cc Revert #10802 Consider range tombstone in compaction output file cutting (#11089) 2023-01-13 12:28:21 -08:00
compaction.h Revert #10802 Consider range tombstone in compaction output file cutting (#11089) 2023-01-13 12:28:21 -08:00
compaction_iteration_stats.h Support readahead during compaction for blob files (#9187) 2021-11-19 17:53:47 -08:00
compaction_iterator.cc Add compaction filter support for wide-column entities (#11196) 2023-02-07 16:17:39 -08:00
compaction_iterator.h Add API to limit blast radius of merge operator failure (#11092) 2023-01-20 14:40:30 -08:00
compaction_iterator_test.cc Basic Support for Merge with user-defined timestamp (#10819) 2022-10-31 22:28:58 -07:00
compaction_job.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_job.h Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
compaction_job_stats_test.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_job_test.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_outputs.cc Fix asan failure caused by range tombstone start key use-after-free (#11106) 2023-01-18 16:38:07 -08:00
compaction_outputs.h Consider TTL compaction file cutting earlier to prevent small output file (#11075) 2023-01-17 16:42:41 -08:00
compaction_picker.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_picker.h Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_picker_fifo.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_picker_fifo.h Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_picker_level.cc Add missing range conflict check between file ingestion and RefitLevel() (#10988) 2022-12-29 15:05:36 -08:00
compaction_picker_level.h Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
compaction_picker_test.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_picker_universal.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_picker_universal.h Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_service_job.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_service_test.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
compaction_state.cc Tiered Compaction: per key placement support (#9964) 2022-07-13 20:54:49 -07:00
compaction_state.h Tiered Compaction: per key placement support (#9964) 2022-07-13 20:54:49 -07:00
file_pri.h Try to start TTL earlier with kMinOverlappingRatio is used (#8749) 2021-11-01 14:36:31 -07:00
sst_partitioner.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
subcompaction_state.cc Refactor Compaction file cut ShouldStopBefore() (#10629) 2022-09-14 22:09:12 -07:00
subcompaction_state.h Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00
tiered_compaction_test.cc Remove RocksDB LITE (#11147) 2023-01-27 13:14:19 -08:00