rocksdb/util
Dhruba Borthakur 7632fdb5cb Support taking a configurable number of files from the same level to compact in a single compaction run.
Summary:
The compaction process takes some files from LevelK and
merges it into LevelK+1. The number of files it picks from
LevelK was capped such a way that the total amount of
data picked does not exceed the maxfilesize of that level.
This essentially meant that only one file from LevelK
is picked for a single compaction.

For bulkloads, we would like to take many many file from
LevelK and compact them using a single compaction run.

This patch introduces a option called the 'source_compaction_factor'
(similar to expanded_compaction_factor). It is a multiplier
that is multiplied by the maxfilesize of that level to arrive
at the limit that is used to throttle the number of source
files from LevelK.  For bulk loads, set source_compaction_factor
to a very high number so that multiple files from the same
level are picked for compaction in a single compaction.

The default value of source_compaction_factor is 1, so that
we can keep backward compatibilty with existing compaction semantics.

Test Plan: make clean check

Reviewers: emayanke, sheki

Reviewed By: emayanke

CC: leveldb

Differential Revision: https://reviews.facebook.net/D6867
2012-11-21 08:37:03 -08:00
..
arena.cc A number of fixes: 2011-10-31 17:22:06 +00:00
arena.h A number of fixes: 2011-10-31 17:22:06 +00:00
arena_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
auto_split_logger.h Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
bloom.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
bloom_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
build_version.h Record the version of the source repository that was used to build the leveldb library. 2012-08-21 14:47:15 -07:00
cache.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
cache_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
coding.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
coding.h A number of fixes: 2011-10-31 17:22:06 +00:00
coding_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
comparator.cc merge 1.5 2012-08-28 11:43:33 -07:00
crc32c.cc SSE4 optimization 2012-05-15 10:10:01 -07:00
crc32c.h A number of fixes: 2011-10-31 17:22:06 +00:00
crc32c_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -08:00
env.cc fixed issues 66 (leaking files on disk error) and 68 (no sync of CURRENT file) 2012-01-25 14:56:52 -08:00
env_hdfs.cc Clean up compiler warnings generated by -Wall option. 2012-08-29 14:24:51 -07:00
env_posix.cc This is the mega-patch multi-threaded compaction 2012-10-19 14:00:53 -07:00
env_test.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -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.cc A number of fixes: 2011-10-31 17:22:06 +00:00
histogram.h A number of fixes: 2011-10-31 17:22:06 +00:00
ldb_cmd.cc Fix LDB dumpwal to print the messages as in the file. 2012-11-19 12:04:35 -08:00
ldb_cmd.h LDB can read WAL. 2012-11-19 12:04:34 -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 Support taking a configurable number of files from the same level to compact in a single compaction run. 2012-11-21 08:37:03 -08:00
posix_logger.h Enable LevelDb to create a new log file if current log file is too large. 2012-10-26 14:55:02 -07: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 A number of fixes: 2011-10-31 17:22:06 +00:00
testharness.cc Fix all warnings generated by -Wall option to the compiler. 2012-11-06 14:07:31 -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 A number of fixes: 2011-10-31 17:22:06 +00:00