Closed sgerbino closed 2 years ago
koinos-chain
so that rejecting incompatible transactions occur as soon as possibleapply_block
such that it returns a failing transaction in the RPC response if it occurs (in structured json format)koinos-block-producer
so that if a block fails because of a particular transactions, we remove that transaction from the block and all others that proceed itkoinos-chain
upon reapplication of pending transaction state, when a transaction that previous succeeded now fails, we broadcast a message about it allowing the koinos-mempool
to remove the transaction from the pending listtransaction_failed
broadcast within koinos-mempool
Note: In koinos-chain
, all writes to the pending transaction state needs to be locked in order to ensure matching ordering of pending transactions between koinos-chain
and koinos-mempool
.
This bug will be handled by koinos/koinos-chain#540.
Is there an existing issue for this?
Current behavior
It is possible for a transaction that will never succeed to end up in the mempool with no way for it to be removed.
Expected behavior
I expected block production to be robust enough to never result in an unrecoverable failure.
Steps to reproduce
No response
Environment
Anything else?
No response