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
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 |
Computing file changes ...