Skip to content

Relayer gets stuck in infinite loop when transaction is evicted from Celestia mempool #1936

@mycodecrafting

Description

@mycodecrafting

Description

The relayer becomes stuck when a transaction is evicted from the Celestia mempool. Instead of handling the eviction and attempting to resubmit or recover, it enters an infinite loop trying to check the transaction status.

Current Behavior

When a transaction is evicted:

  1. The relayer continues to use get tx to check the block height where the transaction landed
  2. Since the transaction was evicted, this endpoint never returns a result
  3. The relayer enters an infinite loop with the warning:
WARN submit_blobs: astria_sequencer_relayer::relayer::celestia_client: waiting to confirm blob submission reason={"0": "transaction still pending"} tx_hash="2EEACE2C73108772A50EC38658C0B814CA23044F1A3B5F3FD168034E2AF097CB"
  1. The only current solution is to manually restart the relayer

Expected Behavior

The relayer should:

  1. Detect when a transaction has been evicted
  2. Handle the eviction appropriately (e.g., resubmit the transaction or log an error)
  3. Continue processing new submissions

Impact

  • Relayer becomes stuck and requires manual intervention
  • Firm/Soft drift on rollup that could potentially lead to a rollup halt
  • Triggers monitoring alerts for finalized block sync

Additional Context

┆Issue Number: ENG-1080

Metadata

Metadata

Labels

bugSomething isn't workingignore-staleOverride for issues or PRs which should not be removed if stale.sequencer-relayerpertaining to the astria-sequencer-relayer crate

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions