Commit bd7d2d1
committed
fix(run-engine): write the MANUAL projection only for the call that created it
A repeated idempotency key returns the waitpoint the first call created, and the
projection write ran on that path too, so it tried to insert a row that already
existed and failed the primary key. The waitpoint itself was fine, but every
cached hit logged an error and counted a projection failure.
Only the creating call writes now.
Also marks the two assertions that cannot hold on the store arm yet. Executor
visible completed waitpoints are hydrated from the snapshot entry's record set
for a store-resident waitpoint, and the hook that reads it back belongs to the
snapshot lane. The condition is written into the test with the reason, rather
than the case being skipped, so the rest of it still runs on both arms.1 parent 0429162 commit bd7d2d1
2 files changed
Lines changed: 20 additions & 5 deletions
File tree
- internal-packages/run-engine/src/engine
- tests
- waitpointCoordinator
Lines changed: 13 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
514 | 514 | | |
515 | 515 | | |
516 | 516 | | |
517 | | - | |
518 | | - | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
519 | 525 | | |
520 | 526 | | |
521 | 527 | | |
| |||
1226 | 1232 | | |
1227 | 1233 | | |
1228 | 1234 | | |
1229 | | - | |
1230 | | - | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
1231 | 1240 | | |
1232 | 1241 | | |
1233 | 1242 | | |
| |||
Lines changed: 7 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
306 | 306 | | |
307 | 307 | | |
308 | 308 | | |
309 | | - | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
310 | 316 | | |
311 | 317 | | |
312 | 318 | | |
| |||
0 commit comments