Commit dae61d5
Poison chain worker on cancelled save
If the caller's future is dropped between `write_batch` landing in
storage and `post_save` refreshing the in-memory register views, the
views' cached `stored_value` goes stale while storage has advanced.
Setting the poison flag up front and clearing it only after `save`
fully returns makes the poison sticky on both error and cancellation,
so the next access evicts and reloads from storage.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent ef3c611 commit dae61d5
1 file changed
Lines changed: 11 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2136 | 2136 | | |
2137 | 2137 | | |
2138 | 2138 | | |
2139 | | - | |
| 2139 | + | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
| 2143 | + | |
2140 | 2144 | | |
2141 | 2145 | | |
2142 | 2146 | | |
2143 | 2147 | | |
2144 | | - | |
2145 | | - | |
2146 | | - | |
2147 | | - | |
2148 | | - | |
2149 | | - | |
2150 | | - | |
2151 | | - | |
2152 | | - | |
2153 | | - | |
2154 | | - | |
2155 | | - | |
2156 | | - | |
2157 | | - | |
2158 | | - | |
2159 | | - | |
2160 | | - | |
2161 | | - | |
2162 | | - | |
2163 | | - | |
2164 | | - | |
2165 | | - | |
2166 | | - | |
2167 | | - | |
2168 | | - | |
2169 | | - | |
2170 | | - | |
2171 | | - | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
| 2151 | + | |
| 2152 | + | |
| 2153 | + | |
2172 | 2154 | | |
2173 | 2155 | | |
2174 | 2156 | | |
| |||
0 commit comments