Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sanitize min_write_buffer_number_to_merge to 1 with atomic_flush #10773

Closed
wants to merge 3 commits into from

Commits on Oct 5, 2022

  1. Sanitize min_write_buffer_number_to_merge to 1 with atomic_flush

    Summary:
    With current implementation, within the same RocksDB instance, all
    column families with non-empty memtables will be scheduled for flush if
    RocksDB determines that any column family needs to be flushed, e.g.
    memtable full, write buffer manager, etc., if atomic flush is enabled.
    Not doing so can lead to data loss and inconsistency when WAL is disabled,
    which is a common setting when atomic flush is enabled. Therefore,
    setting a per-column-family knob, min_write_buffer_number_to_merge to
    a value greater than 1 is not compatible with atomic flush, and should
    be sanitized during column family creation.
    
    Test Plan:
    Reproduce: D39993203
    Run the test with and without the fix.
    riversand963 committed Oct 5, 2022
    Configuration menu
    Copy the full SHA
    ed40a78 View commit details
    Browse the repository at this point in the history
  2. Address comments

    riversand963 committed Oct 5, 2022
    Configuration menu
    Copy the full SHA
    0528e7e View commit details
    Browse the repository at this point in the history
  3. Update HISTORY

    riversand963 committed Oct 5, 2022
    Configuration menu
    Copy the full SHA
    04c0876 View commit details
    Browse the repository at this point in the history