Skip to content

core: Restart store on revert errors to clear poisoned writer#6422

Merged
incrypto32 merged 1 commit intomasterfrom
krishna/fix-runner-revert-store-restart
Mar 9, 2026
Merged

core: Restart store on revert errors to clear poisoned writer#6422
incrypto32 merged 1 commit intomasterfrom
krishna/fix-runner-revert-store-restart

Conversation

@incrypto32
Copy link
Member

#6298 mapped Action::Restart from handle_revert to RestartReason::DataSourceExpired, which skips store.restart(). This meant a poisoned writer from a revert error would never be cleared, causing the subgraph to loop indefinitely until process restart.

  • Use RestartReason::StoreError for revert errors so store.restart() is always called (it's a no-op when not poisoned)
  • Remove the unused DataSourceExpired variant from RestartReason

/// New dynamic data source was created that requires filter updates.
DynamicDataSourceCreated,
/// A data source reached its end block.
DataSourceExpired,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this is unused since we already have to handle the end block of data sources by just ignoring any matching triggers.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right

The runner FSM refactor mapped Action::Restart from handle_revert to
RestartReason::DataSourceExpired, skipping store.restart(). Fix by using
RestartReason::StoreError for revert errors and remove the unused
DataSourceExpired variant.
@incrypto32 incrypto32 force-pushed the krishna/fix-runner-revert-store-restart branch from a60d360 to a0073b8 Compare March 9, 2026 11:06
@incrypto32 incrypto32 merged commit 785e3bb into master Mar 9, 2026
6 checks passed
@incrypto32 incrypto32 deleted the krishna/fix-runner-revert-store-restart branch March 9, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants