Fix for (mainly) test failures (use-after free) I.e. test case test_commitlog_delete_when_over_disk_limit causes use-after free because test shuts down before a pending flush is done, and the segment manager is actually gone -> crash writing stats. Now, we could make the stats a shared pointer, but we should never allow an operation to outlive the segment_manager. In normal op, we _almost_ guarantee this with the shutdown() call, but technically, we could have a flush continuation trailing somewhere. * Make sure we never delete segments from segment_manager until they are fully flushed * Make test disposal method "clear" be more defensive in flushing and clearing out segments
50 KiB
50 KiB