rocksdb/db
Yu Zhang 4b013dcbed Remove VersionEdit's friends pattern (#12024)
Summary:
Almost each of VersionEdit private member has its own getter and setter. Current code access them with a combination of directly accessing private members and via getter and setters. There is no obvious benefits to have this pattern except potential performance gains. I tried this simple benchmark for removing the friends pattern completely, and there is no obvious regression. So I think it would good to remove VersionEdit's friends completely.

```TEST_TMPDIR=/dev/shm/rocksdb1 ./db_bench -benchmarks=fillseq -memtablerep=vector -allow_concurrent_memtable_write=false -num_column_families=10 -num=50000000```

With change:
fillseq      :       2.994 micros/op 333980 ops/sec 149.710 seconds 50000000 operations;   36.9 MB/s
fillseq      :       3.033 micros/op 329656 ops/sec 151.673 seconds 50000000 operations;   36.5 MB/s
fillseq      :       2.991 micros/op 334369 ops/sec 149.535 seconds 50000000 operations;   37.0 MB/s
Without change:
fillseq      :       3.015 micros/op 331715 ops/sec 150.732 seconds 50000000 operations;   36.7 MB/s
fillseq      :       3.044 micros/op 328553 ops/sec 152.182 seconds 50000000 operations;   36.3 MB/s
fillseq      :       3.091 micros/op 323520 ops/sec 154.550 seconds 50000000 operations;   35.8 MB/s

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

Reviewed By: pdillinger

Differential Revision: D50806066

Pulled By: jowlyzhang

fbshipit-source-id: 35d287ce638a38c30f243f85992e615b4c90eb27
2023-11-01 12:04:11 -07:00
..
blob Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
compaction Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
db_impl Rate limiting stale sst files' deletion during recovery (#12016) 2023-10-28 09:50:52 -07:00
wide AttributeGroups - MultiGetEntity Implementation (#11925) 2023-10-13 15:58:03 -07:00
arena_wrapped_db_iter.cc Invalidate threadlocal SV before incrementing super_version_number_ (#11848) 2023-09-18 09:37:40 -07:00
arena_wrapped_db_iter.h Add new Iterator API Refresh(const snapshot*) (#10594) 2023-09-15 10:44:43 -07:00
builder.cc Refactor, clean up, fixes, and more testing for SeqnoToTimeMapping (#11905) 2023-09-29 11:21:59 -07:00
builder.h
c.cc Add C API for ReadOptions::auto_readahead_size (#11837) 2023-09-17 19:51:28 -07:00
c_test.c
column_family.cc Clean up WriteBatchWithIndexInternal a bit (#11930) 2023-10-09 15:25:35 -07:00
column_family.h Clean up WriteBatchWithIndexInternal a bit (#11930) 2023-10-09 15:25:35 -07:00
column_family_test.cc Fix race in options taking effect (#11929) 2023-10-12 10:05:23 -07:00
compact_files_test.cc
comparator_db_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
convenience.cc
convenience_impl.h
corruption_test.cc
cuckoo_table_db_test.cc
db_basic_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_block_cache_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_bloom_filter_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_clip_test.cc
db_compaction_filter_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_compaction_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_dynamic_level_test.cc
db_encryption_test.cc
db_filesnapshot.cc
db_flush_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_info_dumper.cc Log host name (#11776) 2023-08-31 08:39:09 -07:00
db_info_dumper.h
db_inplace_update_test.cc
db_io_failure_test.cc
db_iter.cc Fix various failures in auto_readahead_size (#11884) 2023-10-02 17:47:24 -07:00
db_iter.h Fix various failures in auto_readahead_size (#11884) 2023-10-02 17:47:24 -07:00
db_iter_stress_test.cc
db_iter_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_iterator_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_kv_checksum_test.cc
db_log_iter_test.cc
db_logical_block_size_cache_test.cc
db_memtable_test.cc
db_merge_operand_test.cc
db_merge_operator_test.cc Fix the handling of wide-column base values in the max_successive_merges logic (#11913) 2023-10-02 16:25:25 -07:00
db_options_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
db_properties_test.cc
db_range_del_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_rate_limiter_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_readonly_with_timestamp_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_secondary_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_sst_test.cc Rate limiting stale sst files' deletion during recovery (#12016) 2023-10-28 09:50:52 -07:00
db_statistics_test.cc
db_table_properties_test.cc
db_tailing_iter_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_test2.cc Fix low priority write may cause crash when it is rate limited (#11932) 2023-10-24 14:41:46 -07:00
db_test_util.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_test_util.h test: WritableFile derived class: add missing GetFileSize() override (#11726) 2023-09-29 15:58:08 -07:00
db_universal_compaction_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_wal_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
db_with_timestamp_basic_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
db_with_timestamp_compaction_test.cc
db_with_timestamp_test_util.cc
db_with_timestamp_test_util.h
db_write_buffer_manager_test.cc
db_write_test.cc
dbformat.cc
dbformat.h
dbformat_test.cc
deletefile_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
error_handler.cc Fix for RecoverFromRetryableBGIOError starting with recovery_in_prog_ false (#11991) 2023-10-31 16:13:36 -07:00
error_handler.h Fix a race condition between recovery and backup (#11955) 2023-10-17 13:18:04 -07:00
error_handler_fs_test.cc Fix for RecoverFromRetryableBGIOError starting with recovery_in_prog_ false (#11991) 2023-10-31 16:13:36 -07:00
event_helpers.cc Fix for RecoverFromRetryableBGIOError starting with recovery_in_prog_ false (#11991) 2023-10-31 16:13:36 -07:00
event_helpers.h
experimental.cc
external_sst_file_basic_test.cc
external_sst_file_ingestion_job.cc Fix a bug of rocksdb.file.read.verify.file.checksums.micros not being populated (#11836) 2023-09-15 10:36:14 -07:00
external_sst_file_ingestion_job.h
external_sst_file_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
fault_injection_test.cc
file_indexer.cc
file_indexer.h
file_indexer_test.cc
filename_test.cc
flush_job.cc Refactor, clean up, fixes, and more testing for SeqnoToTimeMapping (#11905) 2023-09-29 11:21:59 -07:00
flush_job.h Refactor, clean up, fixes, and more testing for SeqnoToTimeMapping (#11905) 2023-09-29 11:21:59 -07:00
flush_job_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
flush_scheduler.cc
flush_scheduler.h
forward_iterator.cc
forward_iterator.h
forward_iterator_bench.cc
history_trimming_iterator.h
import_column_family_job.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
import_column_family_job.h
import_column_family_test.cc
internal_stats.cc
internal_stats.h
job_context.h
kv_checksum.h
listener_test.cc
log_format.h
log_reader.cc Fix dead loop with kSkipAnyCorruptedRecords mode selected in some cases (#11955) (#11979) 2023-10-25 09:16:24 -07:00
log_reader.h
log_test.cc
log_writer.cc
log_writer.h
logs_with_prep_tracker.cc
logs_with_prep_tracker.h
lookup_key.h
malloc_stats.cc
malloc_stats.h
manual_compaction_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
memtable.cc Integrate FullMergeV3 into the query and compaction paths (#11858) 2023-09-19 17:27:04 -07:00
memtable.h
memtable_list.cc Fix a bug with atomic_flush that causes DB to stuck after a flush failure (#11872) 2023-09-22 16:43:50 -07:00
memtable_list.h Give retry flushes their own functions (#11903) 2023-10-02 16:26:24 -07:00
memtable_list_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
merge_context.h
merge_helper.cc Fix the handling of wide-column base values in the max_successive_merges logic (#11913) 2023-10-02 16:25:25 -07:00
merge_helper.h Fix the handling of wide-column base values in the max_successive_merges logic (#11913) 2023-10-02 16:25:25 -07:00
merge_helper_test.cc
merge_operator.cc Add helper methods WideColumnsHelper::{Has,Get}DefaultColumn (#11813) 2023-09-11 16:32:32 -07:00
merge_test.cc Introduce a wide column aware MergeOperator API (#11807) 2023-09-11 12:13:58 -07:00
obsolete_files_test.cc
options_file_test.cc
output_validator.cc
output_validator.h
perf_context_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
periodic_task_scheduler.cc
periodic_task_scheduler.h Improve efficiency of create_missing_column_families, light refactor (#11920) 2023-10-04 14:14:22 -07:00
periodic_task_scheduler_test.cc
pinned_iterators_manager.h
plain_table_db_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
post_memtable_callback.h
pre_release_callback.h
prefix_test.cc Enforce status checking after Valid() returns false for IteratorWrapper (#11975) 2023-10-18 09:38:38 -07:00
range_del_aggregator.cc
range_del_aggregator.h Add new Iterator API Refresh(const snapshot*) (#10594) 2023-09-15 10:44:43 -07:00
range_del_aggregator_bench.cc
range_del_aggregator_test.cc
range_tombstone_fragmenter.cc
range_tombstone_fragmenter.h Add new Iterator API Refresh(const snapshot*) (#10594) 2023-09-15 10:44:43 -07:00
range_tombstone_fragmenter_test.cc
read_callback.h
repair.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
repair_test.cc
seqno_time_test.cc Use manifest to persist pre-allocated seqnos (#11995) 2023-10-23 09:20:59 -07:00
seqno_to_time_mapping.cc Bootstrap, pre-populate seqno_to_time_mapping (#11922) 2023-10-06 08:21:21 -07:00
seqno_to_time_mapping.h Bootstrap, pre-populate seqno_to_time_mapping (#11922) 2023-10-06 08:21:21 -07:00
snapshot_checker.h
snapshot_impl.cc
snapshot_impl.h
table_cache.cc Fix row cache falsely return kNotFound when timestamp enabled (#11816) 2023-09-20 11:34:38 -07:00
table_cache.h Fix row cache falsely return kNotFound when timestamp enabled (#11816) 2023-09-20 11:34:38 -07:00
table_cache_sync_and_async.h
table_properties_collector.cc
table_properties_collector.h
table_properties_collector_test.cc
transaction_log_impl.cc
transaction_log_impl.h
trim_history_scheduler.cc
trim_history_scheduler.h
version_builder.cc
version_builder.h
version_builder_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
version_edit.cc
version_edit.h Remove VersionEdit's friends pattern (#12024) 2023-11-01 12:04:11 -07:00
version_edit_handler.cc Remove VersionEdit's friends pattern (#12024) 2023-11-01 12:04:11 -07:00
version_edit_handler.h Remove VersionEdit's friends pattern (#12024) 2023-11-01 12:04:11 -07:00
version_edit_test.cc
version_set.cc Remove VersionEdit's friends pattern (#12024) 2023-11-01 12:04:11 -07:00
version_set.h Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
version_set_sync_and_async.h Add helper methods WideColumnsHelper::{Has,Get}DefaultColumn (#11813) 2023-09-11 16:32:32 -07:00
version_set_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
version_util.h Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
wal_edit.cc
wal_edit.h
wal_edit_test.cc
wal_manager.cc
wal_manager.h
wal_manager_test.cc Make OffpeakTimeInfo available in VersionSet (#12018) 2023-10-27 15:56:48 -07:00
write_batch.cc Fix the handling of wide-column base values in the max_successive_merges logic (#11913) 2023-10-02 16:25:25 -07:00
write_batch_base.cc
write_batch_internal.h
write_batch_test.cc
write_callback.h
write_callback_test.cc
write_controller.cc
write_controller.h
write_controller_test.cc
write_stall_stats.cc
write_stall_stats.h
write_thread.cc
write_thread.h