rocksdb/utilities
Pengchao Wang e4234fbdcf collecting kValue type tombstone
Summary:
In our testing cluster, we found large amount tombstone has been promoted to kValue type from kMerge after reaching the top level of compaction. Since we used to only collecting tombstone in merge operator, those tombstones can never be collected.

This PR addresses the issue by adding a GC step in compaction filter, which is only for kValue type records. Since those record already reached the top of compaction (no earlier data exists) we can safely remove them in compaction filter without worrying old data appears.

This PR also removes an old optimization in cassandra merge operator for single merge operands.  We need to do GC even on a single operand, so the optimation does not make sense anymore.
Closes https://github.com/facebook/rocksdb/pull/2855

Reviewed By: sagar0

Differential Revision: D5806445

Pulled By: wpc

fbshipit-source-id: 6eb25629d4ce917eb5e8b489f64a6aa78c7d270b
2017-09-18 16:27:12 -07:00
..
backupable support opening zero backups during engine init 2017-09-12 13:26:34 -07:00
blob_db Make it explicit blob db doesn't support CF 2017-09-08 11:11:04 -07:00
cassandra collecting kValue type tombstone 2017-09-18 16:27:12 -07:00
checkpoint Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_filters Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
convenience
date_tiered Make InternalKeyComparator final and directly use it in merging iterator 2017-09-11 12:04:21 -07:00
document Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
geodb
leveldb_options
lua
memory
merge_operators allow nullptr Slice only as sentinel 2017-08-23 10:56:06 -07:00
option_change_migration
options Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
persistent_cache block_cache_tier: fix gcc-7 warnings 2017-08-10 11:58:53 -07:00
redis Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
simulator_cache CacheActivityLogger, component to log cache activity into a file 2017-07-28 12:36:48 -07:00
spatialdb Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
table_properties_collectors Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
transactions WritePrepared Txn: Advance seq one per batch 2017-09-18 14:45:08 -07:00
ttl Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
write_batch_with_index WritePrepared Txn: Advance seq one per batch 2017-09-18 14:45:08 -07:00
col_buf_decoder.cc
col_buf_decoder.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
col_buf_encoder.cc
col_buf_encoder.h
column_aware_encoding_exp.cc
column_aware_encoding_test.cc
column_aware_encoding_util.cc Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
column_aware_encoding_util.h
debug.cc Fix naming in InternalKey 2017-09-12 17:17:42 -07:00
env_librados.cc
env_librados.md
env_librados_test.cc
env_mirror.cc
env_mirror_test.cc
env_timed.cc
env_timed_test.cc
merge_operators.h garbage collect tombstones in merge operator 2017-08-31 10:11:54 -07:00
object_registry_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
util_merge_operators_test.cc