Dmitriy Kovalenko
c60cda34a3
Make observed thread metadata writes atomic and retryable ( #59016 )
...
## Why
A failed memory-mode update could leave other metadata changes applied. Failed observed metadata writes for paginated threads also need to remain pending so persistence can retry them.
## What changed
- Apply observed metadata, memory mode, and optional recency advancement in one SQLite upsert, preserving monotonic recency.
- Require successful SQLite writes for paginated thread metadata when a state runtime is configured, retaining failed writes for retry.
- Use SQLite busy-retry helpers for read-state writes and immediate transactions.
## Testing
Add regression tests that reject SQLite writes to verify pending metadata survives a failed persist and a rejected memory-mode update leaves existing metadata unchanged. Both tests verify a subsequent retry succeeds.
GitOrigin-RevId: 652bf6ebee0197976852aaf9f096b907697fd590
2026-11-03 00:16:13 +00:00
..
2026-10-30 18:02:30 +00:00
2026-10-14 07:13:22 +00:00
2026-10-29 17:25:51 +00:00
2026-10-27 05:52:01 +00:00
2026-10-23 14:59:40 +00:00
2026-11-02 20:57:23 +00:00
2026-11-03 00:04:40 +00:00
2026-10-29 11:23:51 +00:00
2026-10-27 18:35:19 +00:00
2026-11-02 16:00:20 +00:00
2026-11-02 16:00:20 +00:00
2026-10-26 20:02:45 +00:00
2026-11-02 17:05:56 +00:00
2026-10-26 20:26:32 +00:00
2026-10-27 22:59:22 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 17:04:16 +00:00
2026-10-26 21:08:15 +00:00
2026-11-02 18:31:19 +00:00
2026-10-26 18:06:07 +00:00
2026-10-30 02:28:51 +00:00
2026-10-20 15:43:19 +00:00
2026-10-29 16:57:12 +00:00
2026-10-29 16:57:12 +00:00
2026-10-29 01:04:48 +00:00
2026-10-29 01:04:48 +00:00
2026-11-02 21:37:17 +00:00
2026-10-19 21:43:19 +00:00
2026-11-02 17:55:39 +00:00
2026-11-02 23:19:03 +00:00
2026-10-30 20:39:47 +00:00
2026-10-29 18:24:34 +00:00
2026-11-02 23:19:03 +00:00
2026-11-02 19:25:02 +00:00
2026-10-19 15:15:17 +00:00
2026-11-02 19:39:23 +00:00
2026-10-27 05:52:01 +00:00
2026-10-26 19:19:10 +00:00
2026-11-02 20:36:39 +00:00
2026-11-02 21:09:09 +00:00
2026-10-30 14:56:08 +00:00
2026-10-27 23:53:09 +00:00
2026-10-30 18:20:57 +00:00
2026-11-02 23:07:21 +00:00
2026-10-28 21:22:06 +00:00
2026-11-02 21:47:45 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 23:53:09 +00:00
2026-10-26 20:40:53 +00:00
2026-11-02 23:30:58 +00:00
2026-10-30 20:53:25 +00:00
2026-10-26 19:21:08 +00:00
2026-11-01 15:50:50 +00:00
2026-10-22 19:36:47 +00:00
2026-11-02 23:19:47 +00:00
2026-10-30 16:16:57 +00:00
2026-10-30 15:11:02 +00:00
2026-10-22 19:36:47 +00:00
2026-11-02 19:26:15 +00:00
2026-11-02 20:34:35 +00:00
2026-10-22 19:36:47 +00:00
2026-11-02 17:35:57 +00:00
2026-11-02 08:31:14 +00:00
2026-11-02 14:06:17 +00:00
2026-10-29 20:17:58 +00:00
2026-10-26 18:22:40 +00:00
2026-11-02 20:57:23 +00:00
2026-10-27 16:36:32 +00:00
2026-11-02 14:06:17 +00:00
2026-11-02 23:19:47 +00:00
2026-10-30 21:01:23 +00:00
2026-10-19 16:56:42 +00:00
2026-11-01 15:50:50 +00:00
2026-11-02 19:44:42 +00:00
2026-10-30 14:40:32 +00:00
2026-10-28 00:51:29 +00:00
2026-11-02 23:19:47 +00:00
2026-10-27 05:52:01 +00:00
2026-10-22 04:59:19 +00:00
2026-10-27 05:52:01 +00:00
2026-10-29 17:49:51 +00:00
2026-11-03 00:16:13 +00:00
2026-10-22 00:19:02 +00:00
2026-10-30 07:11:56 +00:00
2026-11-02 19:25:02 +00:00
2026-11-03 00:16:13 +00:00
2026-10-30 20:53:25 +00:00
2026-11-02 23:19:03 +00:00
2026-10-30 20:53:25 +00:00
2026-10-30 16:35:54 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-28 11:48:00 +00:00
2026-10-28 06:24:24 +00:00
2026-10-29 22:36:06 +00:00
2026-10-28 21:09:05 +00:00
2026-11-02 21:22:16 +00:00
2026-11-02 19:26:15 +00:00
2026-10-30 23:56:12 +00:00
2026-10-27 05:52:01 +00:00