mirror of
https://github.com/quickwit-oss/quickwit.git
synced 2026-10-28 10:45:05 +08:00
The ingest v2 WAL used `PersistPolicy::OnDelay { 5s, Flush }`, which
mrecordlog only checks on the next write. The last frame of an
acknowledged append could stay in the process indefinitely, and recovery
drops a record whose last frame is missing, so a process crash lost the
whole append.
Define `DEFAULT_WAL_PERSIST_POLICY` = `Always(Flush)` and use it
explicitly for every WAL: ingest v2 (the behavior change),
`MultiRecordLogAsync::open` (ingest v1, already `Always(Flush)`) and
`mrecord_bench`. It does not fsync, so host failure or power loss is not
covered.