• Igor Canadi's avatar
    Don't let flushes preempt compactions · 35ca5936
    Igor Canadi authored
    When we first started, max_background_flushes was 0 by default and compaction thread was executing flushes (since there was no flush thread). Then, we switched the default max_background_flushes to 1. However, we still support the case where there is no flush thread and flushes are done in compaction. This is making our code a bit more complicated. By not supporting this use-case we can make our code simpler.
    We have a special case that when you set max_background_flushes to 0, we
    schedule the flush to execute on the compaction thread.
    Test Plan: make check (there might be some unit tests that depend on this behavior)
    Reviewers: IslamAbdelRahman, yhchiang, sdong
    Reviewed By: sdong
    Subscribers: dhruba, leveldb
    Differential Revision: https://reviews.facebook.net/D41931