Revision 2a0f3d0de12ddb0d538e2d221c682536acd885d1 authored by Aaron Gao on 21 February 2017, 18:11:04 UTC, committed by Facebook Github Bot on 21 February 2017, 18:24:17 UTC
Summary: reimplement the compaction expansion on lower level. Considering such a case: input level file: 1[B E] 2[F G] 3[H I] 4 [J M] output level file: 5[A C] 6[D K] 7[L O] If we initially pick file 2, now we will compact file 2 and 6. But we can safely compact 2, 3 and 6 without expanding the output level. The previous code is messy and wrong. In this diff, I first determine the input range [a, b], and output range [c, d], then we get the range [e,f] = [min(a, c), max(b, d] and put all eligible clean-cut files within [e, f] into this compaction. **Note: clean-cut means the files don't have the same user key on the boundaries of some files that are not chosen in this compaction**. Closes https://github.com/facebook/rocksdb/pull/1760 Differential Revision: D4395564 Pulled By: lightmark fbshipit-source-id: 2dc2c5c
1 parent ebc8a79
File | Mode | Size |
---|---|---|
arcanist_util | ||
build_tools | ||
cmake | ||
coverage | ||
db | ||
docs | ||
examples | ||
hdfs | ||
include | ||
java | ||
memtable | ||
port | ||
table | ||
third-party | ||
tools | ||
util | ||
utilities | ||
.arcconfig | -rw-r--r-- | 566 bytes |
.clang-format | -rw-r--r-- | 138 bytes |
.gitignore | -rw-r--r-- | 700 bytes |
.travis.yml | -rw-r--r-- | 1.7 KB |
AUTHORS | -rw-r--r-- | 247 bytes |
CMakeLists.txt | -rw-r--r-- | 25.6 KB |
CONTRIBUTING.md | -rw-r--r-- | 733 bytes |
DEFAULT_OPTIONS_HISTORY.md | -rw-r--r-- | 1.4 KB |
DUMP_FORMAT.md | -rw-r--r-- | 763 bytes |
HISTORY.md | -rw-r--r-- | 40.5 KB |
INSTALL.md | -rw-r--r-- | 4.3 KB |
LANGUAGE-BINDINGS.md | -rw-r--r-- | 712 bytes |
LICENSE | -rw-r--r-- | 1.6 KB |
Makefile | -rw-r--r-- | 52.1 KB |
PATENTS | -rw-r--r-- | 1.9 KB |
README.md | -rw-r--r-- | 1.4 KB |
ROCKSDB_LITE.md | -rw-r--r-- | 1.0 KB |
USERS.md | -rw-r--r-- | 4.9 KB |
Vagrantfile | -rw-r--r-- | 877 bytes |
WINDOWS_PORT.md | -rw-r--r-- | 12.5 KB |
appveyor.yml | -rw-r--r-- | 511 bytes |
src.mk | -rw-r--r-- | 24.0 KB |
thirdparty.inc | -rw-r--r-- | 7.8 KB |
Computing file changes ...