Skip to content

Conversation

@PhilWindle
Copy link
Collaborator

Summary

  • Rewrites FileStoreTxCollection with a shared worker pool, deadline-based expiry, and retry with round-robin and exponential backoff
  • Splits into two instances (fast/slow) with configurable worker counts and backoff settings via 6 new config fields
  • Extracts getProofDeadlineForSlot as a public free function from SlowTxCollection for reuse
  • Workers pull entries with priority (fewest attempts first), skip entries in backoff, and remove expired entries

Test plan

  • All 10 file_store_tx_collection.test.ts tests pass (updated for new interface, added retry/backoff/deadline/clearPending tests)
  • All 22 tx_collection.test.ts tests pass (updated for two file store instances)
  • yarn build succeeds, yarn format p2p and yarn lint p2p clean
  • Tests use deterministic waits (waitForSourceCalls, waitForTxsAdded) instead of blind sleeps to avoid flakiness

🤖 Generated with Claude Code

Base automatically changed from pw/tx-pool-v2-integration to merge-train/spartan February 10, 2026 17:20
alexghr and others added 3 commits February 10, 2026 17:25
… shared worker pool

Split into two instances (fast/slow) with configurable worker counts,
deadline-based expiry, and retry with round-robin and exponential backoff.
Each instance has a fixed-size worker pool started via start(). Workers
pull entries with priority (fewest attempts first), skip entries in backoff,
and remove expired entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@PhilWindle PhilWindle force-pushed the pw/filestore-fast-slow branch from df4e2be to bdb5c82 Compare February 10, 2026 17:31
@AztecBot
Copy link
Collaborator

AztecBot commented Feb 10, 2026

Flakey Tests

🤖 says: This CI run detected 3 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/40febf05b578eedb�40febf05b578eedb8;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_epochs/epochs_mbps.parallel.test.ts "builds multiple blocks per slot with transactions anchored to proposed blocks" (230s) (code: 1) group:e2e-p2p-epoch-flakes
\033FLAKED\033 (8;;http://ci.aztec-labs.com/561d31cf1057a897�561d31cf1057a8978;;�): yarn-project/end-to-end/scripts/run_test.sh ha src/composed/ha/e2e_ha_full.test.ts (121s) (code: 1)
\033FLAKED\033 (8;;http://ci.aztec-labs.com/b4a013e9893fcfb1�b4a013e9893fcfb18;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_p2p/gossip_network.test.ts (380s) (code: 1) group:e2e-p2p-epoch-flakes

Copy link
Contributor

@alexghr alexghr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We reviewed the code. It looks fine. We'll try to combine the code dealing with pickNextEntry and the one dealing with getBackOffMs into one function

@alexghr alexghr merged commit 420b14c into merge-train/spartan Feb 11, 2026
11 checks passed
@alexghr alexghr deleted the pw/filestore-fast-slow branch February 11, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants