rocksdb/util
Dhruba Borthakur 806e264350 Ability for rocksdb to compact when flushing the in-memory memtable to a file in L0.
Summary:
Rocks accumulates recent writes and deletes in the in-memory memtable.
When the memtable is full, it writes the contents on the memtable to
a file in L0.

This patch removes redundant records at the time of the flush. If there
are multiple versions of the same key in the memtable, then only the
most recent one is dumped into the output file. The purging of
redundant records occur only if the most recent snapshot is earlier
than the earliest record in the memtable.

Should we switch on this feature by default or should we keep this feature
turned off in the default settings?

Test Plan: Added test case to db_test.cc

Reviewers: sheki, vamsi, emayanke, heyongqiang

Reviewed By: sheki

CC: leveldb

Differential Revision: https://reviews.facebook.net/D8991
2013-03-04 00:01:47 -08:00
..
arena_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
arena.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
arena.h A number of fixes: 2011-10-31 17:22:06 +00:00
auto_roll_logger_test.cc Fix the "IO error" in auto_roll_logger_test 2013-02-19 00:13:22 -08:00
auto_roll_logger.cc Allow the logs to be purged by TTL. 2013-02-04 19:42:40 -08:00
auto_roll_logger.h Allow the logs to be purged by TTL. 2013-02-04 19:42:40 -08:00
bloom_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
bloom.cc Fix all the lint errors. 2012-11-28 17:18:41 -08:00
build_version.h Stop continually re-creating build_version.c 2013-01-24 17:51:39 -08:00
cache_test.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
cache.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
coding_test.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
coding.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
coding.h Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
comparator.cc merge 1.5 2012-08-28 11:43:33 -07:00
crc32c_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
crc32c.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
crc32c.h A number of fixes: 2011-10-31 17:22:06 +00:00
env_hdfs.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
env_posix.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
env_test.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
env.cc Fix a number of object lifetime/ownership issues 2013-01-23 16:54:11 -08:00
filelock_test.cc Prevent concurrent multiple opens of leveldb database. 2012-08-20 23:55:04 -07:00
filter_policy.cc Added bloom filter support. 2012-04-17 08:36:46 -07:00
hash.cc A number of fixes: 2011-10-31 17:22:06 +00:00
hash.h reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
histogram_test.cc Introduce histogram in statistics.h 2013-02-20 10:43:32 -08:00
histogram.cc Introduce histogram in statistics.h 2013-02-20 10:43:32 -08:00
histogram.h Introduce histogram in statistics.h 2013-02-20 10:43:32 -08:00
ldb_cmd_execute_result.h Enhanced ldb to support data access commands 2013-01-28 11:38:26 -08:00
ldb_cmd.cc ldb waldump to print the keys along with other stats + NULL to nullptr in ldb_cmd.cc 2013-02-20 11:01:37 -08:00
ldb_cmd.h ldb waldump to print the keys along with other stats + NULL to nullptr in ldb_cmd.cc 2013-02-20 11:01:37 -08:00
logging.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
logging.h A number of fixes: 2011-10-31 17:22:06 +00:00
murmurhash.cc Implement RowLocks for assoc schema 2012-10-03 23:19:01 -07:00
murmurhash.h Implement RowLocks for assoc schema 2012-10-03 23:19:01 -07:00
mutexlock.h Implement ReadWrite locks for leveldb 2012-10-01 22:37:39 -07:00
options.cc Ability for rocksdb to compact when flushing the in-memory memtable to a file in L0. 2013-03-04 00:01:47 -08:00
posix_logger.h Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
random.h A number of fixes: 2011-10-31 17:22:06 +00:00
stats_logger.h Clean up compiler warnings generated by -Wall option. 2012-08-29 14:24:51 -07:00
status.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
stop_watch.h Introduce histogram in statistics.h 2013-02-20 10:43:32 -08:00
testharness.cc Codemod NULL to nullptr 2013-02-28 18:04:58 -08:00
testharness.h A number of fixes: 2011-10-31 17:22:06 +00:00
testutil.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
testutil.h Fix a number of object lifetime/ownership issues 2013-01-23 16:54:11 -08:00