rocksdb/db
Lei Jin 0e526eb9d7 introduce TestMemEnv and use it in db_test
Summary:
TestMemEnv simulates all Env APIs using in-memory data structures.
We can use it to speed up db_test run, which is now reduced ~7mins when it is
enabled.
We can also add features to simulate power/disk failures in the next
step
TestMemEnv is derived from helper/mem_env
mem_env can not be used for rocksdb since some of its APIs do not give
the same results as env_posix. And its file read/write is not thread safe

Test Plan:
make all -j32
./db_test
./env_mem_test

Reviewers: sdong, yhchiang, rven, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D28035
2014-10-31 15:08:10 -07:00
..
builder.cc Turn on -Wshadow 2014-10-31 11:59:54 -07:00
builder.h introduce ImmutableOptions 2014-09-04 16:18:36 -07:00
c_test.c fix c_test 2014-10-31 15:04:01 -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 Turn on -Wshadow 2014-10-31 11:59:54 -07:00
column_family.h dynamic inplace_update options 2014-10-27 12:10:13 -07:00
compaction_picker_test.cc Make VersionBuilder unit testable 2014-10-31 10:44:06 -07:00
compaction_picker.cc Turn on -Wshadow 2014-10-31 11:59:54 -07:00
compaction_picker.h Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
compaction.cc Make VersionBuilder unit testable 2014-10-31 10:44:06 -07:00
compaction.h Make CompactionPicker more easily tested 2014-10-29 15:16:53 -07:00
comparator_db_test.cc comparator_db_test to cover more irregular comparators 2014-10-29 17:34:24 -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 WalManager 2014-10-29 17:43:37 -07:00
db_impl_debug.cc Make VersionBuilder unit testable 2014-10-31 10:44:06 -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 Turn on -Wshadow 2014-10-31 11:59:54 -07:00
db_impl.h WalManager 2014-10-29 17:43:37 -07:00
db_iter_test.cc Turn on -Wshadow 2014-10-31 11:59:54 -07:00
db_iter.cc Apply InfoLogLevel to the logs in db/db_iter.cc 2014-10-30 16:54:34 -07:00
db_iter.h reduce references to cfd->options() in DBImpl 2014-09-08 15:04:34 -07:00
db_test.cc introduce TestMemEnv and use it in db_test 2014-10-31 15:08:10 -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 Turn on -Wshadow 2014-10-31 11:59:54 -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 VersionBuilder unit testable 2014-10-31 10:44:06 -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 VersionBuilder unit testable 2014-10-31 10:44:06 -07:00
forward_iterator.h dynamic max_sequential_skip_in_iterations 2014-10-23 15:34:21 -07:00
internal_stats.cc unfriend DBImpl and InternalStats from VersionStorageInfo 2014-10-31 15:04:39 -07:00
internal_stats.h Turn on -Wshadow 2014-10-31 11:59:54 -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 Turn on -Wshadow 2014-10-31 11:59:54 -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 Add ComparatorDBTest to test non-default comparators 2014-10-29 15:42:36 -07:00
prefix_test.cc Turn on -Wshadow 2014-10-31 11:59:54 -07:00
repair.cc Apply InfoLogLevel to the logs in db/repair.cc 2014-10-29 15:12:50 -07:00
skiplist_test.cc Turn on -Wshadow 2014-10-31 11:59:54 -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 WalManager 2014-10-29 17:43:37 -07:00
transaction_log_impl.h WalManager 2014-10-29 17:43:37 -07:00
version_builder_test.cc Make VersionBuilder unit testable 2014-10-31 10:44:06 -07:00
version_builder.h Turn on -Wshadow 2014-10-31 11:59:54 -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 Turn on -Wshadow 2014-10-31 11:59:54 -07:00
version_edit.h Turn on -Wshadow 2014-10-31 11:59:54 -07:00
version_set_test.cc rename FileLevel to LevelFilesBrief / unfriend CompactedDBImpl 2014-10-28 10:03:13 -07:00
version_set.cc Fix BaseReferencedVersionBuilder's destructor order 2014-10-31 13:42:18 -07:00
version_set.h unfriend DBImpl and InternalStats from VersionStorageInfo 2014-10-31 15:04:39 -07:00
wal_manager_test.cc WalManager 2014-10-29 17:43:37 -07:00
wal_manager.cc Turn on -Wshadow 2014-10-31 11:59:54 -07:00
wal_manager.h WalManager 2014-10-29 17:43:37 -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