rocksdb/db
sdong 76d1c28e82 Make CompactionPicker more easily tested
Summary:
Make compaction picker easier to test.
The basic idea is to separate a minimum subcomponent of Version to VersionStorageInfo, which just responsible to LSM tree. A stub VersionStorageInfo can then be easily created and passed into compaction picker so that we can check the outputs.

It now passes most tests. Still two things need to be done:
(1) deal with the FIFO compaction's file size.
(2) write an example test to make sure the interface can do the job.

Add a compaction_picker_test to make sure compaction picker codes can be easily unit tested.

Test Plan:
Pass all unit tests and compaction_picker_test

Reviewers: yhchiang, rven, igor, ljin

Reviewed By: ljin

Subscribers: leveldb, dhruba

Differential Revision: https://reviews.facebook.net/D27639
2014-10-29 15:16:53 -07:00
..
builder.cc introduce ImmutableOptions 2014-09-04 16:18:36 -07:00
builder.h introduce ImmutableOptions 2014-09-04 16:18:36 -07:00
c_test.c fix valgrind error in c_test caused by BlockBasedTableOptions 2014-08-26 09:57:25 -07:00
c.cc Remove allow_thread_local 2014-09-24 13:12:16 -07:00
column_family_test.cc Ignore missing column families 2014-09-02 13:29:05 -07:00
column_family.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
column_family.h dynamic inplace_update options 2014-10-27 12:10:13 -07:00
compaction_picker_test.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
compaction_picker.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
compaction_picker.h Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
compaction.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
compaction.h Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
corruption_test.cc corruption_test.cc: pass parameter by reference 2014-09-30 23:30:31 +02:00
cuckoo_table_db_test.cc cuckoo_table_db_test.cc: add flush after delete 2014-09-30 17:53:49 +02:00
db_bench.cc Include atomic in env_test 2014-10-27 15:41:05 -07:00
db_filesnapshot.cc Apply InfoLogLevel to the logs in db/db_filesnapshot.cc 2014-10-29 14:06:14 -07:00
db_impl_debug.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
db_impl_readonly.cc dynamic max_sequential_skip_in_iterations 2014-10-23 15:34:21 -07:00
db_impl_readonly.h CompactedDBImpl 2014-09-25 11:14:01 -07:00
db_impl.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
db_impl.h FlushProcess 2014-10-28 11:54:33 -07:00
db_iter_test.cc reduce references to cfd->options() in DBImpl 2014-09-08 15:04:34 -07:00
db_iter.cc db/db_iter.cc: remove unused variable 2014-10-01 10:49:08 +02:00
db_iter.h reduce references to cfd->options() in DBImpl 2014-09-08 15:04:34 -07:00
db_test.cc remove dead code 2014-10-29 13:38:06 -07:00
dbformat_test.cc Use IterKey instead of string in Block::Iter to reduce malloc 2014-07-23 12:31:11 -07:00
dbformat.cc remove_internal_filter_policy 2014-08-28 17:06:29 -07:00
dbformat.h fix a few compile warnings 2014-09-04 23:06:23 +08:00
deletefile_test.cc Fix DeleteFile() + enable deleting files oldest files in level 0 2014-10-21 11:23:06 -07:00
file_indexer_test.cc Allow user to specify DB path of output file of manual compaction 2014-07-21 19:06:00 -07:00
file_indexer.cc unfriend ForwardIterator from VersionSet 2014-10-28 10:08:41 -07:00
file_indexer.h unfriend ForwardIterator from VersionSet 2014-10-28 10:08:41 -07:00
filename_test.cc Support purging logs from separate log directory 2014-08-14 13:22:50 -07:00
filename.cc fix more compile warnings 2014-09-05 14:14:37 +08:00
filename.h Support purging logs from separate log directory 2014-08-14 13:22:50 -07:00
flush_job_test.cc TableMock + framework for mock classes 2014-10-28 17:52:32 -07:00
flush_job.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
flush_job.h FlushProcess 2014-10-28 11:54:33 -07:00
flush_scheduler.cc Don't return (or dereference) dangling pointer 2014-10-02 14:33:16 -07:00
flush_scheduler.h Push model for flushing memtables 2014-09-10 18:46:09 -07:00
forward_iterator.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
forward_iterator.h dynamic max_sequential_skip_in_iterations 2014-10-23 15:34:21 -07:00
internal_stats.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
internal_stats.h Fix uninitialized parameter caused by D24513 2014-10-23 15:57:36 -07:00
job_context.h FlushProcess 2014-10-28 11:54:33 -07:00
log_and_apply_bench.cc make compaction related options changeable 2014-10-01 16:19:16 -07:00
log_format.h Some minor refactoring on the code 2014-01-02 16:32:31 -08:00
log_reader.cc Make Log::Reader more robust 2014-02-28 13:19:47 -08:00
log_reader.h Fix UnmarkEOF for partial blocks 2014-01-27 14:49:10 -08:00
log_test.cc Make it compile on Debian/GCC 4.7 2014-03-14 22:44:35 +00:00
log_writer.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
log_writer.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
memtable_list.cc FlushProcess 2014-10-28 11:54:33 -07:00
memtable_list.h FlushProcess 2014-10-28 11:54:33 -07:00
memtable.cc dynamic inplace_update options 2014-10-27 12:10:13 -07:00
memtable.h dynamic inplace_update options 2014-10-27 12:10:13 -07:00
merge_context.h Enhance partial merge to support multiple arguments 2014-03-24 17:57:13 -07:00
merge_helper.cc Fixed the crash when merge_operator is not properly set after reopen. 2014-07-30 17:24:36 -07:00
merge_helper.h Fixed the crash when merge_operator is not properly set after reopen. 2014-07-30 17:24:36 -07:00
merge_operator.cc Some small cleaning up to make some compiling environment happy 2014-03-26 18:11:41 -07:00
merge_test.cc Temporary remove the last test in merge_test 2014-07-31 11:20:49 -07:00
perf_context_test.cc perf_context.get_from_output_files_time is set for MultiGet() and ReadOnly DB too. 2014-10-02 17:02:50 -07:00
plain_table_db_test.cc introduce ImmutableOptions 2014-09-04 16:18:36 -07:00
prefix_test.cc HashLinkList memtable switches a bucket to a skip list to reduce performance outliers 2014-07-01 17:14:15 -07:00
repair.cc Apply InfoLogLevel to the logs in db/repair.cc 2014-10-29 15:12:50 -07:00
skiplist_test.cc Deprecate AtomicPointer 2014-10-27 14:50:21 -07:00
skiplist.h Include atomic 2014-10-27 15:03:45 -07:00
snapshot.h fix a few compile warnings 2014-09-04 23:06:23 +08:00
table_cache.cc TableMock + framework for mock classes 2014-10-28 17:52:32 -07:00
table_cache.h use GetContext to replace callback function pointer 2014-09-29 11:09:09 -07:00
table_properties_collector_test.cc fix asan check 2014-09-05 09:53:04 -07:00
table_properties_collector.cc Extract metaindex block from block-based table 2013-12-05 16:34:16 -08:00
table_properties_collector.h TablePropertiesCollectorFactory 2014-05-13 12:30:55 -07:00
transaction_log_impl.cc Fixed a file-not-found issue when a log file is moved to archive. 2014-05-12 17:50:21 -07:00
transaction_log_impl.h Apply InfoLogLevel to the logs in db/transaction_log_impl.h 2014-10-29 15:13:31 -07:00
version_edit_test.cc Fix the bug where compaction does not fail when RocksDB can't create a new file. 2014-10-28 14:27:26 -07:00
version_edit.cc Move the check to the beginning of the loop in VersionEdit::EncodeTo() 2014-10-29 11:21:51 -07:00
version_edit.h Fix the bug where compaction does not fail when RocksDB can't create a new file. 2014-10-28 14:27:26 -07:00
version_set_test.cc rename FileLevel to LevelFilesBrief / unfriend CompactedDBImpl 2014-10-28 10:03:13 -07:00
version_set.cc Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
version_set.h Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
write_batch_internal.h Push model for flushing memtables 2014-09-10 18:46:09 -07:00
write_batch_test.cc dynamic inplace_update options 2014-10-27 12:10:13 -07:00
write_batch.cc dynamic inplace_update options 2014-10-27 12:10:13 -07:00
write_controller_test.cc Push- instead of pull-model for managing Write stalls 2014-09-08 11:20:25 -07:00
write_controller.cc Push- instead of pull-model for managing Write stalls 2014-09-08 11:20:25 -07:00
write_controller.h Fix #284 2014-09-13 14:14:10 -07:00
write_thread.cc WriteThread 2014-09-12 16:23:58 -07:00
write_thread.h WriteThread 2014-09-12 16:23:58 -07:00