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

🔧 Mitigation against unexpected error or panic in tally end blocker #467

Open
hacheigriega opened this issue Jan 17, 2025 · 0 comments
Open
Assignees
Labels
priority: high Should be fixed as quickly as possible type: chore 🔧 No production code change
Milestone

Comments

@hacheigriega
Copy link
Member

🔧 Chore

Currently, the tally flow halts and becomes indefinitely stuck in the event of an error or panic. Although we catch errors in the tally module’s end blocker to prevent a chain halt, the data request causing the error remains at the front of the tally-ready queue. This leads to repeated errors in subsequent blocks, effectively blocking other requests from being tallied.

A sensible solution would be to modify the defer function to do the following

  • If we can retrieve the problematic data request's ID, notify the contract of an unexpected error with the request ID so that the contract can remove the problematic request. If it is difficult to retrieve the data request ID, the module could send a message without any parameters so that the contract just removes the first data request in the tally-ready queue.
  • If we can retrieve the problematic data request's ID, store a new data result with preliminary data indicating that an unexpected error has occurred.
  • Appropriate logging so that the problem can be examined.
@hacheigriega hacheigriega added the type: chore 🔧 No production code change label Jan 17, 2025
@mariocao mariocao added the priority: high Should be fixed as quickly as possible label Jan 21, 2025
@mariocao mariocao added this to the Devnet v0.5.0 milestone Jan 21, 2025
@hacheigriega hacheigriega self-assigned this Jan 23, 2025
@Thomasvdam Thomasvdam self-assigned this Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: high Should be fixed as quickly as possible type: chore 🔧 No production code change
Projects
None yet
Development

No branches or pull requests

3 participants