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 |
---|---|---|
backupable | ||
blob_db | ||
checkpoint | ||
compaction_filters | ||
convenience | ||
date_tiered | ||
document | ||
geodb | ||
leveldb_options | ||
lua | ||
memory | ||
merge_operators | ||
option_change_migration | ||
options | ||
persistent_cache | ||
redis | ||
simulator_cache | ||
spatialdb | ||
table_properties_collectors | ||
transactions | ||
ttl | ||
write_batch_with_index | ||
col_buf_decoder.cc | -rw-r--r-- | 6.6 KB |
col_buf_decoder.h | -rw-r--r-- | 3.6 KB |
col_buf_encoder.cc | -rw-r--r-- | 6.1 KB |
col_buf_encoder.h | -rw-r--r-- | 7.9 KB |
column_aware_encoding_exp.cc | -rw-r--r-- | 6.2 KB |
column_aware_encoding_test.cc | -rw-r--r-- | 8.5 KB |
column_aware_encoding_util.cc | -rw-r--r-- | 18.0 KB |
column_aware_encoding_util.h | -rw-r--r-- | 2.8 KB |
env_librados.cc | -rw-r--r-- | 36.4 KB |
env_librados.md | -rw-r--r-- | 4.6 KB |
env_librados_test.cc | -rw-r--r-- | 34.4 KB |
env_mirror.cc | -rw-r--r-- | 7.8 KB |
env_mirror_test.cc | -rw-r--r-- | 7.0 KB |
merge_operators.h | -rw-r--r-- | 1.7 KB |
object_registry_test.cc | -rw-r--r-- | 2.0 KB |
util_merge_operators_test.cc | -rw-r--r-- | 3.3 KB |
Computing file changes ...