You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollbacks can only be initiated when the action reader sees them happening, with its occurrence stored in AbstractActionReader#blockHistory. If the indexState is on a forked block at startup, then the action reader will not have any way of knowing this and send a block whose blockHash does not match, and it is not trivial to determine how far the Handler needs to roll back.
The text was updated successfully, but these errors were encountered:
It's been awhile since we discussed it, but we talked at one point about persisting blockHistory to Postgres. Would that be one potential solution here?
blockHistory is something that's in the ActionReader. Maybe we could make a abstract subclass of the AbstractActionReader called the AbstractPostgresActionReader or something, that connects to a postgres database for persisting its own state, but I think a cleaner solution would be to:
Persist lastIrreversibleBlock data to indexState
Detect this case when the ActionHandler processes its first block, and rolls back to the lastIrreversibleBlock number from indexState
Request the next block needed after the ActionHandler's rollback
Rollbacks can only be initiated when the action reader sees them happening, with its occurrence stored in
AbstractActionReader#blockHistory
. If the indexState is on a forked block at startup, then the action reader will not have any way of knowing this and send a block whose blockHash does not match, and it is not trivial to determine how far the Handler needs to roll back.The text was updated successfully, but these errors were encountered: