]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commit
fix intra-L0 FIFO for uncompressed use case
authorAndrew Kryczka <andrewkr@fb.com>
Mon, 9 Apr 2018 20:29:51 +0000 (13:29 -0700)
committerFacebook Github Bot <facebook-github-bot@users.noreply.github.com>
Mon, 9 Apr 2018 20:42:31 +0000 (13:42 -0700)
commit1c27cbfbd1fde4f8b3a6aff8c3e64260fadbe9fd
tree7b38b904a04cb3aee9c05676fdf9e7ce338c2837
parentf3a1d9e049e8858a6ab9d0cf627573e203109734
fix intra-L0 FIFO for uncompressed use case

Summary:
- inflate the argument passed as `max_compact_bytes_per_del_file` by a bit (10%). The intent of this argument is prevent L0 files from being intra-L0 compacted multiple times. Without compression, some intra-L0 compactions exceed this limit (and thus aren't executed), even though none of their files have gone through intra-L0 before.
- fix `FindIntraL0Compaction` as it was rejecting some valid intra-L0 compactions. In particular, `compact_bytes_per_del_file` is the work-per-deleted-file for the span [0, span_len), whereas `new_compact_bytes_per_del_file` is the work-per-deleted-file for the span [0, span_len+1). The former is more correct for checking whether we've found an eligible span.
Closes https://github.com/facebook/rocksdb/pull/3684

Differential Revision: D7530396

Pulled By: ajkr

fbshipit-source-id: cad4f50902bdc428ac9ff6fffb13eb288648d85e
db/compaction_picker.cc