Skip to content

stream realtime: canonical block fataled with 'unknown parent' — parent was the canonical block at N-1 (no reorg involved) #33

Description

@dzhelezov

Observation (long-running stream-mode soak, chain 1 / ethereum)

The stream-realtime client hit its fail-loud unknown-parent path and exited (75/TEMPFAIL, by design; the supervisor restarted it and crash recovery resumed cleanly ~11s later, gap backfilled):

Error: Portal realtime: streamed block 25455459 (0xd481da308324da8bfbde16a9b99975d90c977e76e10d54dba037d82d0fb914cd) has an unknown parent 0x49f95d8bcca2c957d569df3e82f3588f8de68357a8d1a722409edd34e1f6e0ef — a reorg deeper than the unfinalized window, or a skipped block. Cannot reconcile safely; restart to re-sync from the finalized head.

Third-party check: no reorg — both blocks are canonical

Queried a public RPC (ethereum-rpc.publicnode.com) minutes after the event:

  • eth_getBlockByNumber(25455458) → hash 0x49f95d8bcca2c957d569df3e82f3588f8de68357a8d1a722409edd34e1f6e0efexactly the "unknown parent".
  • eth_getBlockByNumber(25455459) → hash 0xd481da308324da8bfbde16a9b99975d90c977e76e10d54dba037d82d0fb914cd, parent 0x49f95d…exactly the streamed block.

So the error message's first hypothesis (deep reorg) is ruled out for this instance: the stream delivered the canonical N, and the canonical N-1 was missing from the client's unfinalized window. Either the stream never delivered N-1 (server-side skip / delivery gap) or the client received and then lost it (window-state bug: eviction, finalize consuming it early, or the redelivery handshake missing a case).

Impact

Availability, not correctness: the fail-loud path worked as designed, restart + crash recovery healed the gap with no data loss observed. But every such event is a full process restart; a recurring skip shape would turn into a restart churn.

Notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions