-
Notifications
You must be signed in to change notification settings - Fork 4
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
Tooling to retry failed contract renewals #138
Comments
On second thought, I'm not sure any special tooling is needed here; the old contract is not deleted from the Another thing you could try is to always attempt a second renewal 12 blocks after the first one (or 2 hours, if that's easier). If the first renewal succeeded and has not been reorged, you'll get a predictable error, e.g. "contract can not be revised." Otherwise, you'll get a different error, or |
If I'm not mistaken, the old contract is already finalized, and we cannot renew it anymore, can we? The problem is the host accepts renewing a contract but later it removes the contract. Does the host keep the old contract and use it after removing the renewed contract? |
Hmm. I'll have to look at the host code. This sounds like something that the host should handle (either by restoring the old contract, or by automatically resubmitting the new contract) but may not be. I'd suggest at least attempting to renew again when this happens, just to see what sort of error you get. That could be helpful. |
Guys, @jkawamoto @lukechampine what is the status on this issue? Looking at Kibana i can still se endless messages with:
We're basically still permanently losing data because of this. |
I'm skeptical that this is being caused by renewals being reorged, but I can't say for sure because I don't know how common reorgs are on mainnet. I'll try to get some stats on that. (UPDATE: According to SiaStats, there have been 10 reorgs in the past ~6000 blocks, so about one reorg per week. All of those reorgs were 1 block deep.) If reorgs are the cause, then the impact could be minimized by "staggering" your renewals, i.e. renew one contract every 10 minutes instead of renewing all of the contracts together. We should evaluate other potential causes as well, though. |
Quote: "Attempt renewal again if the transaction ends up being reorged. This doesn't strike me as too difficult, but currently I don't think there's any us tooling for it."
This tooling will help resolve
no record of that host
after renewal.The text was updated successfully, but these errors were encountered: