swh:1:snp:5115096b921df712aeb2a08114fede57fb3331fb
Revision 2a3969990082ee6b2dd3a80ae8c921e1e321bbbe authored by Dhruba Borthakur on 26 November 2012, 09:49:50 UTC, committed by Dhruba Borthakur on 26 November 2012, 22:00:39 UTC
Summary:
When we expand the range of keys for a level 0 compaction, we
need to invoke ParentFilesInCompaction() only once for the
entire range of keys that is being compacted. We were invoking
it for each file that was being compacted, but this triggers
an assertion because each file's range were contiguous but
non-overlapping.

I renamed ParentFilesInCompaction to ParentRangeInCompaction
to adequately represent that it is the range-of-keys and
not individual files that we compact in a single compaction run.

Here is the assertion that is fixed by this patch.
db_test: db/version_set.cc:585: void leveldb::Version::ExtendOverlappingInputs(int, const leveldb::Slice&, const leveldb::Slice&, std::vector<leveldb::FileMetaData*, std::allocator<leveldb::FileMetaData*> >*, int): Assertion `user_cmp->Compare(flimit, user_begin) >= 0' failed.

Test Plan: make clean check OPT=-g

Reviewers: sheki

Reviewed By: sheki

CC: MarkCallaghan, emayanke, leveldb

Differential Revision: https://reviews.facebook.net/D6963
1 parent 7c6f527
History
Tip revision: 19076c95aa2bcee55c26fcf0960cc844ad86ee9c authored by Levi Tamasi on 21 January 2021, 22:18:25 UTC
Update HISTORY.md for PR 7888 (#7890)
Tip revision: 19076c9
File Mode Size
db
doc
hdfs
helpers
include
java
port
scribe
snappy
table
thrift
tools
util
.arcconfig -rw-r--r-- 110 bytes
.gitignore -rw-r--r-- 149 bytes
AUTHORS -rw-r--r-- 193 bytes
LICENSE -rw-r--r-- 1.4 KB
Makefile -rw-r--r-- 9.2 KB
NEWS -rw-r--r-- 509 bytes
README -rw-r--r-- 1.7 KB
README.fb -rw-r--r-- 283 bytes
TODO -rw-r--r-- 494 bytes
build_detect_platform -rwxr-xr-x 7.9 KB
build_detect_version -rwxr-xr-x 1.1 KB
fbcode.gcc471.sh -rw-r--r-- 2.4 KB

README

back to top