Commit 02e2c5e
committed
Fix concurrent local activity replay nondeterminism
During first execution, local activity resolve_activity jobs arrive in
completion order (wall-clock). During replay, they arrive in sequence
number order. When multiple coroutines issue local activities
concurrently, this ordering difference causes coroutines to resume in a
different order, assigning different sequence numbers to subsequent
commands and triggering NondeterminismError.
Fix by sorting local activity resolutions by sequence number before
processing. This ensures coroutines always resume in scheduling order
regardless of execution mode.1 parent d5f5d96 commit 02e2c5e
1 file changed
Lines changed: 23 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
461 | 461 | | |
462 | 462 | | |
463 | 463 | | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
464 | 472 | | |
465 | | - | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
466 | 488 | | |
467 | 489 | | |
468 | 490 | | |
| |||
0 commit comments