rocksdb/db
sdong cadc1adffa Refactor: group metadata needed to open an SST file to a separate copyable struct
Summary:
We added multiple fields to FileMetaData recently and are planning to add more.
This refactoring separate the minimum information for accessing the file. This object is copyable (FileMetaData is not copyable since the ref counter). I hope this refactoring can enable further improvements:

(1) use it to design a more efficient data structure to speed up read queries.
(2) in the future, when we add information of storage level, we can easily do the encoding, instead of enlarge this structure, which might expand memory work set for file meta data.

The definition is same as current EncodedFileMetaData used in two level iterator, so now the logic in two level iterator is easier to understand.

Test Plan: make all check

Reviewers: haobo, igor, ljin

Reviewed By: ljin

Subscribers: leveldb, dhruba, yhchiang

Differential Revision: https://reviews.facebook.net/D18933
2014-06-16 16:10:52 -07:00
..
builder.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
builder.h Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
c_test.c kill ReadOptions.prefix and .prefix_seek 2014-04-25 12:21:34 -07:00
c.cc Add rocksdb_open_for_read_only to C API 2014-04-27 20:57:10 +01:00
column_family_test.cc remove unnecessary printf 2014-06-06 18:27:44 -07:00
column_family.cc Flush stale column families less aggressively 2014-06-02 15:33:54 -07:00
column_family.h Flush stale column families less aggressively 2014-06-02 15:33:54 -07:00
compaction_picker.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
compaction_picker.h FIFO compaction style 2014-05-21 11:43:35 -07:00
compaction.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
compaction.h Correctly preallocate files in universal compaction 2014-06-05 13:19:35 -07:00
corruption_test.cc Fix corruption test 2014-04-24 14:56:41 -04:00
db_bench.cc forward iterator 2014-05-30 14:31:55 -07:00
db_filesnapshot.cc Call EnableFileDeletions with false as argument 2014-05-20 14:28:51 -07:00
db_impl_debug.cc FIFO compaction style 2014-05-21 11:43:35 -07:00
db_impl_readonly.cc Minimize accessing multiple objects in Version::Get() 2014-04-17 14:14:00 -07:00
db_impl_readonly.h [CF] Rethinking ColumnFamilyHandle and fix to dropping column families 2014-02-12 13:47:09 -08:00
db_impl.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
db_impl.h Write Fast-path for single column family 2014-06-06 17:26:23 -07:00
db_iter.cc Fix compile errors on Mac 2014-06-03 12:28:58 -07:00
db_iter.h In DB::NewIterator(), try to allocate the whole iterator tree in an arena 2014-06-02 17:44:57 -07:00
db_stats_logger.cc RocksDBLite 2014-04-15 13:39:26 -07:00
db_test.cc fix forward iterator bug 2014-06-10 09:57:26 -07:00
dbformat_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
dbformat.cc macros for perf_context 2014-04-08 10:58:07 -07:00
dbformat.h forward iterator 2014-05-30 14:31:55 -07:00
deletefile_test.cc Start DeleteFileTest with clean plate 2013-11-15 16:30:23 -08:00
file_indexer_test.cc Some fixes as preparation for release 2014-04-30 09:03:24 -07:00
file_indexer.cc hints for narrowing down FindFile range and avoiding checking unrelevant L0 files 2014-04-21 09:10:12 -07:00
file_indexer.h Remove TransactionLogIteratorRace when -DNDEBUG 2014-04-21 11:08:30 -07:00
filename_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
filename.cc fsync directory after creating current file in NewDB() 2014-05-06 17:51:33 -07:00
filename.h fsync directory after creating current file in NewDB() 2014-05-06 17:51:33 -07:00
forward_iterator.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
forward_iterator.h Fix compile errors on Mac 2014-06-03 12:28:58 -07:00
internal_stats.cc Expose number of entries in mem tables to users 2014-04-22 22:13:21 -07:00
internal_stats.h Expose number of entries in mem tables to users 2014-04-22 22:13:21 -07:00
log_and_apply_bench.cc log_and_apply_bench on a new benchmark framework 2014-05-05 11:11:48 -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 In DB::NewIterator(), try to allocate the whole iterator tree in an arena 2014-06-02 17:44:57 -07:00
memtable_list.h In DB::NewIterator(), try to allocate the whole iterator tree in an arena 2014-06-02 17:44:57 -07:00
memtable.cc In DB::NewIterator(), try to allocate the whole iterator tree in an arena 2014-06-02 17:44:57 -07:00
memtable.h In DB::NewIterator(), try to allocate the whole iterator tree in an arena 2014-06-02 17:44:57 -07:00
merge_context.h Enhance partial merge to support multiple arguments 2014-03-24 17:57:13 -07:00
merge_helper.cc Fix the bug in MergeUtil which causes mixing values of different keys. 2014-03-27 16:15:25 -07:00
merge_helper.h [rocksdb] new CompactionFilterV2 API 2014-03-24 20:47:53 -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 Use new DBWithTTL API in tests 2014-04-28 23:46:24 -04:00
perf_context_test.cc Missing includes 2014-03-14 13:02:20 -07:00
plain_table_db_test.cc Clean PlainTableReader's variables for better data locality 2014-06-09 13:53:39 -07:00
prefix_test.cc Make RocksDB work with newer gflags 2014-05-08 17:25:13 -07:00
repair.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
simple_table_db_test.cc In DB::NewIterator(), try to allocate the whole iterator tree in an arena 2014-06-02 17:44:57 -07:00
skiplist_test.cc Clean up arena API 2014-01-30 22:10:10 -08:00
skiplist.h Consolidate SliceTransform object ownership 2014-03-10 12:56:46 -07:00
snapshot.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
table_cache.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
table_cache.h Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
table_properties_collector_test.cc TablePropertiesCollectorFactory 2014-05-13 12:30:55 -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
tailing_iter.cc kill ReadOptions.prefix and .prefix_seek 2014-04-25 12:21:34 -07:00
tailing_iter.h kill ReadOptions.prefix and .prefix_seek 2014-04-25 12:21:34 -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 RocksDBLite 2014-04-15 13:39:26 -07:00
version_edit_test.cc [CF] Dont reuse dropped column family IDs 2014-03-05 12:13:44 -08:00
version_edit.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
version_edit.h Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
version_set_test.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
version_set.cc Refactor: group metadata needed to open an SST file to a separate copyable struct 2014-06-16 16:10:52 -07:00
version_set.h VersionSet::Get(): Bring back the logic of skipping key range check when there are <=3 level 0 files 2014-06-13 15:51:44 -07:00
write_batch_internal.h Support for column families in TTL DB 2014-04-22 11:27:33 -07:00
write_batch_test.cc kill ReadOptions.prefix and .prefix_seek 2014-04-25 12:21:34 -07:00
write_batch.cc Support for column families in TTL DB 2014-04-22 11:27:33 -07:00