Repository navigation
Conversation
…ut it Reth sentries wrote about 80% of mainnet's mempool_transaction_removed rows, almost all queued-pool drops at 3-4 rows per hash, because queued transactions leave reth's txpool_content and come back. A transaction missing from one snapshot is now held, and reported only if the next snapshot is missing it too and it was not included in the meantime. A reported hash is remembered for two hours (production reth re-admits a dropped queued transaction a median 8 and a p99 46 minutes later), so a transaction that keeps leaving and returning is reported once. event_date_time stays the first snapshot without it. Amp-Thread-ID: https://ampcode.com/threads/T-01a1c90a-57e2-779d-ad72-fa519d20e045 Co-authored-by: Sam Calder-Mason <samcaldermason@gmail.com>
There was a problem hiding this comment.
This follow-up delays removal reporting until a transaction is missing from two consecutive txpool snapshots and remembers reported hashes for two hours to suppress flapping re-reports. The held/confirmed bookkeeping, inclusion check, replacement lookup, and guard resets are consistent, and the reworked tests cover the two-poll rule, flapping, inclusion, and TTL expiry. I found no blocking correctness issues.
Reviewed 2 changed file(s) @ 6c4bfba5 — no blocking issues found.
"Don't drink the bear's skin before you've shot it." — Hungarian
CI failed @
|
Follow-up to #946. Reth sentries write about 80% of mainnet
mempool_transaction_removedrows, almost all queued-pooldroppedrows at 3–4 rows per hash, because queued transactions leave reth'stxpool_contentand come back. Mainnet over 3 hours of v1.32.0: about 527k rows/hour, of which 515k are drops and 441k are from reth.Change
event_date_timestays the first snapshot without it.Verification
--txpool.lifetime 20s --txpool.nolocals(temporary test, not committed), with a fresh filler transaction each poll so expiry never empties the pool:dropped. It was then re-sent, evicted again, and not reported again.replacedwith the right replacement hash.