* Do close + fsync on all segments * Make sure all pending cycle/sync ops are guarded with a gate, and explicitly wait for this gate on shutdown to make sure we don't leave hanging flushes in the task queue. * Fix bug where "commitlog::clear" did not in fact shut down the CL, due to "_shutdown" being already set. Note: This is (at least currently) not an issue for anything else than tests, since we don't shutdown the normal server "properly", i.e. the CL itself will not go away, and hanging tasks are ok, as long as the sync-all is done (which it was previously). But, to make tests predictable, and future-proof the CL, this is better.
50 KiB
50 KiB