Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: eth: re-execute tipsets on missing events #11588

Merged
merged 1 commit into from
Jan 30, 2024

Conversation

Stebalien
Copy link
Member

Related Issues

fixes #11335

Proposed Changes

This will re-execute tipsets to forcibly re-compute and store events when they're missing. This is effectively lazy backfilling of events.

NOTE: This won't backfill the index itself, it'll just give us the events.

Checklist

Before you mark the PR ready for review, please make sure that:

  • Commits have a clear commit message.
  • PR title is in the form of of <PR type>: <area>: <change being made>
    • example: fix: mempool: Introduce a cache for valid signatures
    • PR type: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, test
    • area, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps
  • If the PR affects users (e.g., new feature, bug fix, system requirements change), update the CHANGELOG.md and add details to the UNRELEASED section.
  • New features have usage guidelines and / or documentation updates in
  • Tests exist for new functionality or change in behavior
  • CI is green

@Stebalien Stebalien requested a review from a team as a code owner January 18, 2024 23:34
This will re-execute tipsets to forcibly re-compute and store events
when they're missing. This is effectively lazy backfilling of events.

NOTE: This _won't_ backfill the index itself, it'll just give us the
events.

fixes #11335
@Stebalien Stebalien force-pushed the steb/re-exec-on-missing-events branch from 1916263 to b61001a Compare January 18, 2024 23:35
var events []types.Event
if rct := lookup.Receipt; rct.EventsRoot != nil {
events, err = ca.ChainGetEvents(ctx, *rct.EventsRoot)
if err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

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

should we match a specific error here, or is just any error correct enough ?

Copy link
Member Author

Choose a reason for hiding this comment

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

Worst case, we'll waste some CPU if the datastore is corrupted. Then we'll return the same error below when we try to fetch the events again. Unfortunately, matching errors is kind of error prone.

Copy link
Contributor

@aarshkshah1992 aarshkshah1992 left a comment

Choose a reason for hiding this comment

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

lgtm

@Stebalien Stebalien merged commit efb9422 into master Jan 30, 2024
88 checks passed
@Stebalien Stebalien deleted the steb/re-exec-on-missing-events branch January 30, 2024 18:29
ribasushi pushed a commit to ribasushi/ci-abusing-lotus-fork that referenced this pull request May 11, 2024
This will re-execute tipsets to forcibly re-compute and store events
when they're missing. This is effectively lazy backfilling of events.

NOTE: This _won't_ backfill the index itself, it'll just give us the
events.

fixes filecoin-project#11335
ribasushi pushed a commit to ribasushi/ci-abusing-lotus-fork that referenced this pull request May 16, 2024
This will re-execute tipsets to forcibly re-compute and store events
when they're missing. This is effectively lazy backfilling of events.

NOTE: This _won't_ backfill the index itself, it'll just give us the
events.

fixes filecoin-project#11335
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.

FEVM: Re-execute tipset on missing events
3 participants