Commit 09134a3
fix: interrupt publisher send-at-slot sleep on sequencer stop (#23990)
## Summary
- Propagate `CheckpointProposalJob.interrupt()` to its
`SequencerPublisher` so the publisher's `sendRequestsAt` slot-deadline
sleep is cancelled on sequencer stop.
- Check `interrupted` *before* sleeping in `sendRequestsAt`, since
`InterruptibleSleep.interrupt()` only resolves sleeps already in flight.
Completes #23930, which made the job's own polling waits interruptible
but not the publisher's. In [this `e2e_ha_full.test.ts`
flake](http://ci.aztec-labs.com/1c46f3d4a226073d) a node became proposer
165ms before teardown and took the no-broadcast votes path, leaving
`pendingL1Submission = publisher.sendRequestsAt(targetSlot)` sleeping
until the target slot — ~22 wall-clock minutes away under the warped
test clock. `Sequencer.stop()` blocked on it ("Awaiting pending L1
payload submission"), node stops were abandoned, and Jest hung on leaked
handles until CI killed the run. Nothing in the shutdown path interrupts
the per-job `SequencerPublisher`: `publisherFactory.stopAll()` only
interrupts the underlying `L1TxUtils`.
## Tests
- `checkpoint_proposal_job.test.ts`: pending L1 submission blocked in
the publisher resolves promptly on `job.interrupt()` (red without the
fix).
- `sequencer-publisher.test.ts`: `sendRequestsAt` returns immediately
when interrupted before the sleep starts (red without the fix).1 parent a438a66 commit 09134a3
5 files changed
Lines changed: 85 additions & 6 deletions
File tree
- yarn-project
- end-to-end/src/composed/ha
- sequencer-client/src
- publisher
- sequencer
Lines changed: 24 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
307 | 311 | | |
308 | | - | |
309 | | - | |
| 312 | + | |
| 313 | + | |
310 | 314 | | |
311 | 315 | | |
312 | | - | |
| 316 | + | |
313 | 317 | | |
314 | 318 | | |
315 | 319 | | |
316 | 320 | | |
317 | | - | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
318 | 324 | | |
319 | 325 | | |
320 | | - | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
321 | 329 | | |
322 | 330 | | |
323 | 331 | | |
324 | 332 | | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
325 | 340 | | |
326 | 341 | | |
327 | 342 | | |
| |||
350 | 365 | | |
351 | 366 | | |
352 | 367 | | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
353 | 372 | | |
354 | 373 | | |
355 | 374 | | |
| |||
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
720 | 720 | | |
721 | 721 | | |
722 | 722 | | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
723 | 745 | | |
724 | 746 | | |
725 | 747 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
630 | 630 | | |
631 | 631 | | |
632 | 632 | | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
633 | 636 | | |
634 | 637 | | |
635 | 638 | | |
| |||
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
1719 | 1720 | | |
1720 | 1721 | | |
1721 | 1722 | | |
| 1723 | + | |
| 1724 | + | |
| 1725 | + | |
| 1726 | + | |
| 1727 | + | |
| 1728 | + | |
| 1729 | + | |
| 1730 | + | |
| 1731 | + | |
| 1732 | + | |
| 1733 | + | |
| 1734 | + | |
| 1735 | + | |
| 1736 | + | |
| 1737 | + | |
| 1738 | + | |
| 1739 | + | |
| 1740 | + | |
| 1741 | + | |
| 1742 | + | |
| 1743 | + | |
| 1744 | + | |
| 1745 | + | |
| 1746 | + | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
1722 | 1756 | | |
1723 | 1757 | | |
1724 | 1758 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
192 | | - | |
| 192 | + | |
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
196 | 197 | | |
197 | 198 | | |
198 | 199 | | |
| |||
0 commit comments