Skip to content

EventBus and indexerService should be started before first block (for replay last block on handshake) execution #3186

@cryptom-dev

Description

@cryptom-dev

EventBus and indexerService should be started before handshake (for potential first block replay) to index transaction of partially executed block.

Our case:

  1. Chain crashed on execution (EndBlock phase) of block 3629474, it has been saved into block db (but not state db).
  2. Handshake replayed last block (3629474) without eventbus started caused its transactions are not indexed

log with line number:

1550869 I[01-21|08:03:07.131] ABCI Handshake                               module=consensus appHeight=3629473 appHa1550869 sh=C995942BF2FC04B36481F2785691513D71C9C3C7
1550870 I[01-21|08:03:07.131] ABCI Replay Blocks                           module=consensus appHeight=3629473 store1550870 Height=3629474 stateHeight=3629473
1550991:I[01-21|08:03:07.168] Committed state                              module=consensus height=3629474 txs=11 appHash=0A0A0AA29444FFBD83D591A2DC7D554D51D6543D
1551002:I[01-21|08:03:07.245] Starting EventBus                            module=events impl=EventBus

Metadata

Metadata

Assignees

No one assigned

    Labels

    C:consensusComponent: ConsensusC:rpcComponent: JSON RPC, gRPCC:syncComponent: Fast Sync, State SyncT:bugType Bug (Confirmed)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions