mempool: release slot reservations when reorg cleanup removes a duplicate #29

Closed
opened 2026-08-26 19:07:36 +00:00 by ignotusnemo · 1 comment
ignotusnemo commented 2026-08-26 19:07:36 +00:00 (Migrated from github.com)

Problem

readmit_after_reorg removes a concurrently re-submitted duplicate from the core mempool but does not rebuild admitted_input_slots and admitted_output_slots. The removed entry can therefore leave temporary ghost reservations.

This requires a submission to land in the narrow interval after on_new_block completes and before readmit_after_reorg acquires the mempool lock. A later transaction touching one of those slots can receive a false SlotConflict until the next block rebuilds the reservation sets.

Expected

Keep the slot-reservation indexes consistent whenever readmit_after_reorg removes an entry, preferably by rebuilding once after the removal loop.

Scope

This is a transient local mempool bookkeeping issue. It does not alter State, transaction validity, issuance or consensus.

Originally reported by @AGI-is-going-to-arrive and moved here for normal public issue tracking.

## Problem `readmit_after_reorg` removes a concurrently re-submitted duplicate from the core mempool but does not rebuild `admitted_input_slots` and `admitted_output_slots`. The removed entry can therefore leave temporary ghost reservations. This requires a submission to land in the narrow interval after `on_new_block` completes and before `readmit_after_reorg` acquires the mempool lock. A later transaction touching one of those slots can receive a false `SlotConflict` until the next block rebuilds the reservation sets. ## Expected Keep the slot-reservation indexes consistent whenever `readmit_after_reorg` removes an entry, preferably by rebuilding once after the removal loop. ## Scope This is a transient local mempool bookkeeping issue. It does not alter State, transaction validity, issuance or consensus. Originally reported by @AGI-is-going-to-arrive and moved here for normal public issue tracking.
ignotusnemo commented 2026-08-26 20:31:32 +00:00 (Migrated from github.com)

Fixed in 13ef215a: reorg duplicate removal now rebuilds input and output slot reservations. A regression test covers both indexes.

Fixed in [`13ef215a`](https://github.com/ignotusnemo/parano1d/commit/13ef215a): reorg duplicate removal now rebuilds input and output slot reservations. A regression test covers both indexes.
Sign in to join this conversation.
No description provided.