Two writes that failed at the same time put their reports back in the wrong order when the older one failed first. A mutex is now held across each write, from taking the waiting reports out of the buffer to putting them back if the write fails, so the next write takes them in order. The write Append starts at the 10 MiB threshold waits for one under way, and Append starts no other while it waits. Files written since the start are now deleted to make room in the order they were written. A test that needed two writes at once is removed. Model: opus-5-5
This commit is contained in:
@@ -21,6 +21,17 @@ Run `make frontend-viewport-test` in CI as its own step; it is not part of
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-19: report file writes no longer overlap
|
||||
([#150](https://git.eeqj.de/sneak/netwatch/issues/150)), so the reports of
|
||||
failed writes are written in the order they arrived. Two writes that failed at
|
||||
the same time put their reports back in the wrong order when the older failed
|
||||
first. One write runs at a time, and each takes the waiting reports only when
|
||||
it starts, after a failed write has put its own back. The write that 10 MiB
|
||||
waiting starts waits for one under way, and only one such write waits at a
|
||||
time. A unit test holds a write open, starts a second at 10 MiB, fails both
|
||||
and checks the order in the next file. Files written since the start are
|
||||
deleted to make room in the order they were written, after those found at
|
||||
start
|
||||
- 2026-10-18: when the backend runs on its own, a `DATA_DIR` that cannot be
|
||||
created or read, or where no file can be created, stops the start with an
|
||||
error naming `DATA_DIR` and its value, as the other settings' errors do
|
||||
|
||||
Reference in New Issue
Block a user