Commit 78d797a
Poison and evict chain worker on any save failure (linera-io#6053)
## Motivation
Fixes linera-io#6052.
Previously only journal resolution failures poisoned the chain worker.
Other write errors (e.g. possible ScyllaDB timeouts) left the worker
loaded with potentially stale state.
Stacked on linera-io#6051.
## Proposal
- **Poison on any save failure**: `ChainWorkerState::save()` now always
sets `poisoned = true` and returns `WorkerError::PoisonedWorker` on any
error, triggering immediate eviction and a fresh reload on the next
request.
- **Keep `must_reload_view`** for metrics and as way to document that
journaling really requires a notion of view poisoning.
## Test Plan
CI
## Links
- Fixes linera-io#6052
- Stacked on linera-io#6051
- [reviewer
checklist](https://github.com/linera-io/linera-protocol/blob/main/CONTRIBUTING.md#reviewer-checklist)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent c4ee110 commit 78d797a
1 file changed
Lines changed: 7 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2109 | 2109 | | |
2110 | 2110 | | |
2111 | 2111 | | |
2112 | | - | |
2113 | | - | |
2114 | | - | |
2115 | | - | |
2116 | | - | |
2117 | | - | |
2118 | | - | |
2119 | | - | |
2120 | | - | |
| 2112 | + | |
| 2113 | + | |
| 2114 | + | |
| 2115 | + | |
| 2116 | + | |
| 2117 | + | |
| 2118 | + | |
2121 | 2119 | | |
2122 | 2120 | | |
2123 | 2121 | | |
| |||
0 commit comments