rocksdb/db/compaction
Yanqin Jin 3d67d79154 Fix overlapping check by excluding timestamp (#10615)
Summary:
With user-defined timestamp, checking overlapping should exclude
timestamp part from key. This has already been done for range checking
for files in sstableKeyCompare(), but not yet done when checking with
concurrent compactions.

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

Test Plan:
(Will add more tests)

make check
(Repro seems easier with this commit sha: git checkout 78bbdef530)
rm -rf /dev/shm/rocksdb/* &&
mkdir /dev/shm/rocksdb/rocksdb_crashtest_expected &&
./db_stress
--allow_data_in_errors=True --clear_column_family_one_in=0
--continuous_verification_interval=0 --data_block_index_type=1
--db=/dev/shm/rocksdb//rocksdb_crashtest_blackbox --delpercent=5
--delrangepercent=0
--expected_values_dir=/dev/shm/rocksdb//rocksdb_crashtest_expected
--iterpercent=0 --max_background_compactions=20
--max_bytes_for_level_base=10485760 --max_key=25000000
--max_write_batch_group_size_bytes=1048576 --nooverwritepercent=1
--ops_per_thread=1000000 --paranoid_file_checks=1 --partition_filters=0
--prefix_size=8 --prefixpercent=5 --readpercent=30 --reopen=0
--snapshot_hold_ops=100000 --subcompactions=1 --compaction_pri=3
--target_file_size_base=65536 --target_file_size_multiplier=2
--test_batches_snapshots=0 --test_cf_consistency=0 --use_multiget=1
--user_timestamp_size=8 --value_size_mult=32 --verify_checksum=1
--write_buffer_size=65536 --writepercent=60 -disable_wal=1

Reviewed By: akankshamahajan15

Differential Revision: D39146797

Pulled By: riversand963

fbshipit-source-id: 7fca800026ca6219220100b8b6cf84d907828163
2022-09-08 13:03:07 -07:00
..
clipping_iterator.h
clipping_iterator_test.cc
compaction.cc
compaction.h
compaction_iteration_stats.h
compaction_iterator.cc Add memtable per key-value checksum (#10281) 2022-08-12 13:51:32 -07:00
compaction_iterator.h
compaction_iterator_test.cc
compaction_job.cc Always verify SST unique IDs on SST file open (#10532) 2022-09-07 22:52:42 -07:00
compaction_job.h
compaction_job_stats_test.cc
compaction_job_test.cc Sync dir containing CURRENT after RenameFile on CURRENT as much as possible (#10573) 2022-08-29 17:35:21 -07:00
compaction_outputs.cc
compaction_outputs.h
compaction_picker.cc Fix overlapping check by excluding timestamp (#10615) 2022-09-08 13:03:07 -07:00
compaction_picker.h
compaction_picker_fifo.cc
compaction_picker_fifo.h
compaction_picker_level.cc Fix overlapping check by excluding timestamp (#10615) 2022-09-08 13:03:07 -07:00
compaction_picker_level.h
compaction_picker_test.cc Fix overlapping check by excluding timestamp (#10615) 2022-09-08 13:03:07 -07:00
compaction_picker_universal.cc Fix overlapping check by excluding timestamp (#10615) 2022-09-08 13:03:07 -07:00
compaction_picker_universal.h
compaction_service_job.cc
compaction_service_test.cc Always verify SST unique IDs on SST file open (#10532) 2022-09-07 22:52:42 -07:00
compaction_state.cc
compaction_state.h
file_pri.h
sst_partitioner.cc
subcompaction_state.cc
subcompaction_state.h
tiered_compaction_test.cc