not split file in compaciton on level 0
Summary: we should not split file on level 0 in compaction because it will fail the following verification of seqno order on level 0 Test Plan: check with filldeterministic in db_bench Reviewers: yhchiang, andrewkr Reviewed By: andrewkr Subscribers: andrewkr, dhruba, leveldb Differential Revision: https://reviews.facebook.net/D65193
This commit is contained in:
parent
5e0d6b4cc9
commit
52c9808c3a
@ -854,8 +854,9 @@ void CompactionJob::ProcessKeyValueCompaction(SubcompactionState* sub_compact) {
|
|||||||
// during subcompactions (i.e. if output size, estimated by input size, is
|
// during subcompactions (i.e. if output size, estimated by input size, is
|
||||||
// going to be 1.2MB and max_output_file_size = 1MB, prefer to have 0.6MB
|
// going to be 1.2MB and max_output_file_size = 1MB, prefer to have 0.6MB
|
||||||
// and 0.6MB instead of 1MB and 0.2MB)
|
// and 0.6MB instead of 1MB and 0.2MB)
|
||||||
if (sub_compact->current_output_file_size >=
|
if (sub_compact->compaction->output_level() != 0 &&
|
||||||
sub_compact->compaction->max_output_file_size()) {
|
sub_compact->current_output_file_size >=
|
||||||
|
sub_compact->compaction->max_output_file_size()) {
|
||||||
const Slice* next_key = nullptr;
|
const Slice* next_key = nullptr;
|
||||||
if (c_iter->Valid()) {
|
if (c_iter->Valid()) {
|
||||||
next_key = &c_iter->key();
|
next_key = &c_iter->key();
|
||||||
|
Loading…
Reference in New Issue
Block a user