-
Notifications
You must be signed in to change notification settings - Fork 47
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
State-provisioning must flush parentchain import queue and set last imported parentchain header #1366
Comments
To be precise, I see two potential causes for the bug #1337:
TBH, to me both seem unlikely, but I deem the first one more plausible. |
It is definitely 1. |
The parentchain import queue is not populated at that step, as the parentchain light-client is not even initialized. Hence, the solution will be to provision the current light-client state together with the state-key and the state. Therefore this is superseded by #1370 |
I have yet to conclude my analysis, but I think I found the cause of the failing integration tests in #1337.
As noted in #1337 (comment), w2 imports some missing parentchain blocks before importing the sidechain block. However, the imported blocks are
[0...=n]
, wheren
is thelayer_one_head
denoted in the to be imported sidechain block.This means, we import blocks that are already included in the provisioned sidechain state, and re-apply them. My current guess is that by chance this did not lead to state transitions pre polkadot-0.9.42 such that we did not note that bug before.
Logs observed on #1337 with the following log-levels:
The text was updated successfully, but these errors were encountered: