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

Awareness of the block rewind situation after a non-graceful shutdown #192

Open
jimthematrix opened this issue Jan 21, 2022 · 0 comments
Open

Comments

@jimthematrix
Copy link
Contributor

When geth experiences a non-graceful crash, ethconnect will retry the pending transactions. The eth_estimateGas calls will be made during the retries.

After the node recovers, it will perform a rewind to a previous full block.

At this point, ethconnect will be retrying the eth_estimateGas calls, which fails because it's chain repair state. EthConnect then attempts an eth_call request to try to discover the error that caused the failure. Since the eth_call request is made at the original block height, geth will return block not found error and fail the transaction. EthConnect believes it's the actual cause of the tx failure and returns it to the client.

What it should do is detecting that "block not found" is returned and recognize that it's likely a block rewind situation, and continues to retry.

@jimthematrix jimthematrix changed the title Awareness of the block rewind situation after a non-graceful crash Awareness of the block rewind situation after a non-graceful shutdown Jan 22, 2022
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

No branches or pull requests

1 participant