Owen Lin
5c94796dc9
Enforce single-writer ownership for paginated threads ( #34986 )
...
## Why
Only one app-server process should keep a paginated thread open for writing at
a time, while other processes must still be able to read it.
## What changed
- Acquire a per-thread filesystem lock when creating or resuming a paginated
thread, and retain it for the lifetime of the live recorder.
- Reject a competing `thread/resume` request with JSON-RPC error `-32600` and
release ownership when the writer is discarded, deleted, or shut down.
- Remove stale lock files without disturbing active writers.
## Testing
Added coverage for competing processes, ownership transfer after shutdown,
stale-lock cleanup, and lock release during discard and deletion.
GitOrigin-RevId: 81d49a2fffc73ba8135752b4944f27feafa4c0d6
2026-07-23 18:22:41 +00:00
..
2026-07-22 20:23:35 +00:00
2026-06-25 18:15:48 -07:00
2026-07-22 16:30:12 +00:00
2026-07-22 23:45:45 +00:00
2026-07-23 01:00:35 +00:00
2026-07-08 14:13:59 -07:00
2026-07-09 00:17:38 +00:00
2026-07-22 16:30:12 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-05-28 14:54:39 -07:00
2026-07-06 10:17:15 -07:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-15 05:21:13 +00:00
2026-07-08 00:15:49 +00:00
2026-07-14 01:49:16 +00:00
2026-06-27 19:34:10 +00:00
2026-07-22 16:30:12 +00:00
2026-07-08 14:13:59 -07:00
2026-07-22 19:43:35 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 17:55:22 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 20:23:35 +00:00
2026-07-22 16:30:12 +00:00
2026-07-15 20:59:21 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 15:32:36 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 20:23:35 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 01:00:35 +00:00
2026-07-23 11:32:47 +00:00
2026-07-23 01:00:35 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 19:43:35 +00:00
2026-07-08 14:13:59 -07:00
2026-07-22 16:30:12 +00:00
2026-07-22 22:54:28 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-17 15:45:48 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 13:11:16 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 22:54:28 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 22:54:28 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 22:54:28 +00:00
2026-05-12 18:40:53 -07:00
2026-07-22 22:54:28 +00:00
2026-07-23 18:22:41 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 22:54:28 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 00:02:15 +00:00
2026-07-08 00:15:49 +00:00