Islam AbdelRahman 24c3b2b21e Fix conflict between AddFile() and CompactRange()
Summary:
Fix the conflict bug between AddFile() and CompactRange() by
- Make sure that no AddFile calls are running when asking CompactionPicker to pick compaction for manual compaction
- If AddFile() run after we pick the compaction for the manual compaction it will be aware of it since we will add the manual compaction to running_compactions_ after picking it

This will solve these 2 scenarios
- If AddFile() is running, we will wait for it to finish before we pick a compaction for the manual compaction
- If we already picked a manual compaction and then AddFile() started ... we ensure that it never ingest a file in a level that will overlap with the manual compaction

Test Plan: unit tests

Reviewers: sdong

Reviewed By: sdong

Subscribers: andrewkr, yoshinorim, jkedgar, dhruba

Differential Revision: https://reviews.facebook.net/D64449
2016-09-28 16:16:10 -07:00
..
2016-05-17 13:11:56 -07:00
2016-06-09 19:03:10 -07:00
2016-09-06 12:22:16 -07:00
2016-09-06 12:22:16 -07:00
2016-07-08 17:50:51 -07:00
2016-08-11 23:34:19 -07:00
2016-07-08 17:50:51 -07:00
2016-07-13 15:36:22 -07:00
2016-06-25 08:29:40 +01:00