rocksdb/db
Changyu Bi cc6f323705 Include estimated bytes deleted by range tombstones in compensated file size (#10734)
Summary:
compensate file sizes in compaction picking so files with range tombstones are preferred, such that they get compacted down earlier as they tend to delete a lot of data. This PR adds a `compensated_range_deletion_size` field in FileMeta that is computed during Flush/Compaction and persisted in MANIFEST. This value is added to `compensated_file_size` which will be used for compaction picking. Currently, for a file in level L, `compensated_range_deletion_size` is set to the estimated bytes deleted by range tombstone of this file in all levels > L. This helps to reduce space amp when data in older levels are covered by range tombstones in level L.

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

Test Plan:
- Added unit tests.
- benchmark to check if the above definition `compensated_range_deletion_size` is reducing space amp as intended, without affecting write amp too much. The experiment set up favorable for this optimization: large range tombstone issued infrequently. Command used:
```
./db_bench -benchmarks=fillrandom,waitforcompaction,stats,levelstats -use_existing_db=false -avoid_flush_during_recovery=true -write_buffer_size=33554432 -level_compaction_dynamic_level_bytes=true -max_background_jobs=8 -max_bytes_for_level_base=134217728 -target_file_size_base=33554432 -writes_per_range_tombstone=500000 -range_tombstone_width=5000000 -num=50000000 -benchmark_write_rate_limit=8388608 -threads=16 -duration=1800 --max_num_range_tombstones=1000000000
```

In this experiment, each thread wrote 16 range tombstones over the duration of 30 minutes, each range tombstone has width 5M that is the 10% of the key space width. Results shows this PR generates a smaller DB size.

Compaction stats from this PR:
```
Level    Files   Size     Score Read(GB)  Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt) Avg(sec) KeyIn KeyDrop Rblob(GB) Wblob(GB)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  L0      2/0   31.54 MB   0.5      0.0     0.0      0.0       8.4      8.4       0.0   1.0      0.0     63.4    135.56            110.94       544    0.249       0      0       0.0       0.0
  L4      3/0   96.55 MB   0.8     18.5     6.7     11.8      18.4      6.6       0.0   2.7     65.3     64.9    290.08            284.03       108    2.686    284M  1957K       0.0       0.0
  L5     15/0   404.41 MB   1.0     19.1     7.7     11.4      18.8      7.4       0.3   2.5     66.6     65.7    292.93            285.34       220    1.332    293M  3808K       0.0       0.0
  L6    143/0    4.12 GB   0.0     45.0     7.5     37.5      41.6      4.1       0.0   5.5     71.2     65.9    647.00            632.66       251    2.578    739M    47M       0.0       0.0
 Sum    163/0    4.64 GB   0.0     82.6    21.9     60.7      87.2     26.5       0.3  10.4     61.9     65.4   1365.58           1312.97      1123    1.216   1318M    52M       0.0       0.0
```

Compaction stats from main:
```
Level    Files   Size     Score Read(GB)  Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt) Avg(sec) KeyIn KeyDrop Rblob(GB) Wblob(GB)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  L0      0/0    0.00 KB   0.0      0.0     0.0      0.0       8.4      8.4       0.0   1.0      0.0     60.5    142.12            115.89       569    0.250       0      0       0.0       0.0
  L4      3/0   85.68 MB   1.0     17.7     6.8     10.9      17.6      6.7       0.0   2.6     62.7     62.3    289.05            281.79       112    2.581    272M  2309K       0.0       0.0
  L5     11/0   293.73 MB   1.0     18.8     7.5     11.2      18.5      7.2       0.5   2.5     64.9     63.9    296.07            288.50       220    1.346    288M  4365K       0.0       0.0
  L6    130/0    3.94 GB   0.0     51.5     7.6     43.9      47.9      3.9       0.0   6.3     67.2     62.4    784.95            765.92       258    3.042    848M    51M       0.0       0.0
 Sum    144/0    4.31 GB   0.0     88.0    21.9     66.0      92.3     26.3       0.5  11.0     59.6     62.5   1512.19           1452.09      1159    1.305   1409M    58M       0.0       0.0```

Reviewed By: ajkr

Differential Revision: D39834713

Pulled By: cbi42

fbshipit-source-id: fe9341040b8704a8fbb10cad5cf5c43e962c7e6b
2022-12-29 13:28:24 -08:00
..
blob Consider range tombstone in compaction output file cutting (#10802) 2022-12-15 09:11:54 -08:00
compaction Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
db_impl Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
wide Support Merge for wide-column entities in the compaction logic (#10946) 2022-11-11 16:32:32 -08:00
arena_wrapped_db_iter.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
arena_wrapped_db_iter.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
builder.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
builder.h Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
c.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
c_test.c Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
column_family.cc Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
column_family.h Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
column_family_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
compact_files_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
comparator_db_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
convenience.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
corruption_test.cc Improve error messages for SST footer and size errors (#11009) 2022-12-09 10:03:47 -08:00
cuckoo_table_db_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_basic_test.cc Fix table cache leak in MultiGet with async_io (#10997) 2022-12-04 22:58:25 -08:00
db_block_cache_test.cc Observe and warn about misconfigured HyperClockCache (#10965) 2022-11-21 12:08:21 -08:00
db_bloom_filter_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_compaction_filter_test.cc Skip swaths of range tombstone covered keys in merging iterator (2022 edition) (#10449) 2022-09-02 09:51:19 -07:00
db_compaction_test.cc Make CompactRange() more aware of SstPartitionerFactory (#11032) 2022-12-21 15:41:10 -08:00
db_dynamic_level_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_encryption_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_filesnapshot.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_flush_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_info_dumper.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_info_dumper.h
db_inplace_update_test.cc Fix in-place updates for value types other than kTypeValue (#10254) 2022-06-27 16:37:09 -07:00
db_io_failure_test.cc Enable a few unit tests to use custom Env objects (#9087) 2021-11-08 11:05:59 -08:00
db_iter.cc Support Merge with wide-column entities in iterator (#10941) 2022-11-10 18:00:08 -08:00
db_iter.h Support Merge with wide-column entities in iterator (#10941) 2022-11-10 18:00:08 -08:00
db_iter_stress_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_iter_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_iterator_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_kv_checksum_test.cc Print stack traces on frozen tests in CI (#10828) 2022-10-18 00:35:35 -07:00
db_log_iter_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_logical_block_size_cache_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_memtable_test.cc Add support for wide-column point lookups (#10540) 2022-08-19 11:51:12 -07:00
db_merge_operand_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_merge_operator_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_options_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_properties_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_range_del_test.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
db_rate_limiter_test.cc Add rate-limiting support to batched MultiGet() (#10159) 2022-06-17 16:40:47 -07:00
db_readonly_with_timestamp_test.cc Add timestamp support to CompactedDBImpl (#10030) 2022-05-24 12:14:10 -07:00
db_secondary_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_sst_test.cc Fix periodic_task unable to re-register the same task type (#10379) 2022-08-25 18:52:37 -07:00
db_statistics_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_table_properties_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_tailing_iter_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_test.cc Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
db_test2.cc Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
db_test_util.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_test_util.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_universal_compaction_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
db_wal_test.cc Revise LockWAL/UnlockWAL implementation (#11020) 2022-12-13 21:45:00 -08:00
db_with_timestamp_basic_test.cc Fix a bug in range scan with merge and deletion with timestamp (#10915) 2022-11-03 13:02:06 -07:00
db_with_timestamp_compaction_test.cc Fix an assertion failure in `TimestampTablePropertiesCollector` for empty output (#11015) 2022-12-05 13:46:27 -08:00
db_with_timestamp_test_util.cc Add timestamp support to DBImplReadOnly (#10004) 2022-05-19 18:39:41 -07:00
db_with_timestamp_test_util.h Add timestamp support to DBImplReadOnly (#10004) 2022-05-19 18:39:41 -07:00
db_write_buffer_manager_test.cc Prevent a case of WriteBufferManager flush thrashing (#6364) 2022-08-17 15:53:40 -07:00
db_write_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
dbformat.cc Remove copying of range tombstones keys in iterator (#10878) 2022-11-28 19:27:22 -08:00
dbformat.h Remove copying of range tombstones keys in iterator (#10878) 2022-11-28 19:27:22 -08:00
dbformat_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
deletefile_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
error_handler.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
error_handler.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
error_handler_fs_test.cc Deflake DBErrorHandlingFSTest.*WALWriteError (#10642) 2022-09-06 12:59:02 -07:00
event_helpers.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
event_helpers.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
experimental.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
external_sst_file_basic_test.cc Refactor to avoid confusing "raw block" (#10408) 2022-09-22 11:25:32 -07:00
external_sst_file_ingestion_job.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
external_sst_file_ingestion_job.h Track SST unique id in MANIFEST and verify (#9990) 2022-05-19 11:04:21 -07:00
external_sst_file_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
fault_injection_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
file_indexer.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
file_indexer.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
file_indexer_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
filename_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
flush_job.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
flush_job.h Add seqno to time mapping (#10338) 2022-07-14 21:49:34 -07:00
flush_job_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
flush_scheduler.cc
flush_scheduler.h
forward_iterator.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
forward_iterator.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
forward_iterator_bench.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
history_trimming_iterator.h Consider range tombstone in compaction output file cutting (#10802) 2022-12-15 09:11:54 -08:00
import_column_family_job.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
import_column_family_job.h Add some missing headers (#10519) 2022-08-11 12:45:50 -07:00
import_column_family_test.cc Use VersionBuilder for CF import ordering/validation (#11028) 2022-12-10 15:07:42 -08:00
internal_stats.cc Avoid repeat periodic stats printing when there is no change (#10891) 2022-10-31 09:51:38 -07:00
internal_stats.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
job_context.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
kv_checksum.h Add memtable per key-value checksum (#10281) 2022-08-12 13:51:32 -07:00
listener_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
log_format.h Add record to set WAL compression type if enabled (#9556) 2022-02-17 16:19:31 -08:00
log_reader.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
log_reader.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
log_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
log_writer.cc Add manual_wal_flush, FlushWAL() to stress/crash test (#10698) 2022-09-30 15:48:33 -07:00
log_writer.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
logs_with_prep_tracker.cc
logs_with_prep_tracker.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
lookup_key.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
malloc_stats.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
malloc_stats.h
manual_compaction_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
memtable.cc Revisit the interface of MergeHelper::TimedFullMerge(WithEntity) (#10932) 2022-11-09 12:54:05 -08:00
memtable.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
memtable_list.cc Fix flush picking non-consecutive memtables (#10921) 2022-11-04 15:55:54 -07:00
memtable_list.h Fix memtable-only iterator regression (#10705) 2022-09-21 09:49:31 -07:00
memtable_list_test.cc Fix flush picking non-consecutive memtables (#10921) 2022-11-04 15:55:54 -07:00
merge_context.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
merge_helper.cc Consider range tombstone in compaction output file cutting (#10802) 2022-12-15 09:11:54 -08:00
merge_helper.h Revisit the interface of MergeHelper::TimedFullMerge(WithEntity) (#10932) 2022-11-09 12:54:05 -08:00
merge_helper_test.cc Basic Support for Merge with user-defined timestamp (#10819) 2022-10-31 22:28:58 -07:00
merge_operator.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
merge_test.cc Make the Env class Customizable (#9293) 2022-01-04 16:45:49 -08:00
obsolete_files_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
options_file_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
output_validator.cc Cleanup includes in dbformat.h (#8930) 2021-09-29 04:04:40 -07:00
output_validator.h Cleanup includes in dbformat.h (#8930) 2021-09-29 04:04:40 -07:00
perf_context_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
periodic_task_scheduler.cc Fix periodic_task unable to re-register the same task type (#10379) 2022-08-25 18:52:37 -07:00
periodic_task_scheduler.h Fix periodic_task unable to re-register the same task type (#10379) 2022-08-25 18:52:37 -07:00
periodic_task_scheduler_test.cc Add an unittest for Periodic compaction conflict with ongoing compaction (#10908) 2022-12-12 10:37:55 -08:00
pinned_iterators_manager.h Avoid allocations/copies for large `GetMergeOperands()` results (#10458) 2022-08-04 00:42:13 -07:00
plain_table_db_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
post_memtable_callback.h Snapshots with user-specified timestamps (#9879) 2022-06-10 16:07:03 -07:00
pre_release_callback.h
prefix_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
range_del_aggregator.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
range_del_aggregator.h User-defined timestamp support for `DeleteRange()` (#10661) 2022-09-30 16:13:03 -07:00
range_del_aggregator_bench.cc Improve FragmentTombstones() speed by lazily initializing `seq_set_` (#10848) 2022-10-25 11:33:04 -07:00
range_del_aggregator_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
range_tombstone_fragmenter.cc Improve FragmentTombstones() speed by lazily initializing `seq_set_` (#10848) 2022-10-25 11:33:04 -07:00
range_tombstone_fragmenter.h Improve FragmentTombstones() speed by lazily initializing `seq_set_` (#10848) 2022-10-25 11:33:04 -07:00
range_tombstone_fragmenter_test.cc snapshots of FragmentedRangeTombstoneList must in ascending order (#11046) 2022-12-19 15:06:22 -08:00
read_callback.h
repair.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
repair_test.cc Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
seqno_time_test.cc Add an unittest for Periodic compaction conflict with ongoing compaction (#10908) 2022-12-12 10:37:55 -08:00
seqno_to_time_mapping.cc Add option `preserve_internal_time_seconds` to preserve the time info (#10747) 2022-10-07 18:49:40 -07:00
seqno_to_time_mapping.h Add option `preserve_internal_time_seconds` to preserve the time info (#10747) 2022-10-07 18:49:40 -07:00
snapshot_checker.h Use STATIC_AVOID_DESTRUCTION for static objects with non-trivial destructors (#9958) 2022-05-17 09:39:22 -07:00
snapshot_impl.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
snapshot_impl.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
table_cache.cc Fix table cache leak in MultiGet with async_io (#10997) 2022-12-04 22:58:25 -08:00
table_cache.h Always verify SST unique IDs on SST file open (#10532) 2022-09-07 22:52:42 -07:00
table_cache_sync_and_async.h Always verify SST unique IDs on SST file open (#10532) 2022-09-07 22:52:42 -07:00
table_properties_collector.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
table_properties_collector.h Fix an assertion failure in `TimestampTablePropertiesCollector` for empty output (#11015) 2022-12-05 13:46:27 -08:00
table_properties_collector_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
transaction_log_impl.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
transaction_log_impl.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
trim_history_scheduler.cc
trim_history_scheduler.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
version_builder.cc Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
version_builder.h Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
version_builder_test.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
version_edit.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
version_edit.h Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
version_edit_handler.cc Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
version_edit_handler.h Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
version_edit_test.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
version_set.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
version_set.h Sort L0 files by newly introduced epoch_num (#10922) 2022-12-13 13:29:37 -08:00
version_set_sync_and_async.h Support Merge for wide-column entities during point lookups (#10916) 2022-11-03 08:35:42 -07:00
version_set_test.cc Include estimated bytes deleted by range tombstones in compensated file size (#10734) 2022-12-29 13:28:24 -08:00
version_util.h Allow manifest fix-up without requiring prior state (#10796) 2022-10-10 17:59:17 -07:00
wal_edit.cc Do not hold mutex when write keys if not necessary (#7516) 2022-07-21 13:35:36 -07:00
wal_edit.h Do not hold mutex when write keys if not necessary (#7516) 2022-07-21 13:35:36 -07:00
wal_edit_test.cc Do not hold mutex when write keys if not necessary (#7516) 2022-07-21 13:35:36 -07:00
wal_manager.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
wal_manager.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
wal_manager_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
write_batch.cc Fix a bug where GetContext does not update READ_NUM_MERGE_OPERANDS (#10925) 2022-11-07 15:42:10 -08:00
write_batch_base.cc
write_batch_internal.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
write_batch_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
write_callback.h
write_callback_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
write_controller.cc
write_controller.h Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
write_controller_test.cc Ran clang-format on db/ directory (#10910) 2022-11-02 14:34:24 -07:00
write_thread.cc Revise LockWAL/UnlockWAL implementation (#11020) 2022-12-13 21:45:00 -08:00
write_thread.h Fix race in ExitAsBatchGroupLeader with pipelined writes (#9944) 2022-08-02 14:52:10 -07:00