You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Will be triggered if when we are trying to dealing with potential forks when reconnecting to SHiP.
The logic behind the issue is:
1 Unwinding will only reset canonical header, but the cache will not be touched.
2 ExecutionEngine::insert_block()
Should
a update cache
b save block in db
c update canonical head
but it will skip them if the block is in cache
3 ExecutionEngine::verify_chain() will try to check if the newly inserted block is in canonical branch.
But since canonical head is not updated in step 2, it will report the "header to verify not found"
4 Fortunately, the block is indeed in db (because unwinding process will not remove them), so if a new block with unseen hash comes, the forward will be triggered correctly and everything returns to normal.
We needs to figure out the proper way to fix this issue.
Option A: remove block from cache during unwinding
Option B: do not check cache when inserting
Option C: Tolerate the error and change the wording. (Maybe also some extra checks to make sure we are indeed in this scenario)
The text was updated successfully, but these errors were encountered:
Will be triggered if when we are trying to dealing with potential forks when reconnecting to SHiP.
The logic behind the issue is:
1 Unwinding will only reset canonical header, but the cache will not be touched.
2 ExecutionEngine::insert_block()
Should
a update cache
b save block in db
c update canonical head
but it will skip them if the block is in cache
3 ExecutionEngine::verify_chain() will try to check if the newly inserted block is in canonical branch.
But since canonical head is not updated in step 2, it will report the "header to verify not found"
4 Fortunately, the block is indeed in db (because unwinding process will not remove them), so if a new block with unseen hash comes, the forward will be triggered correctly and everything returns to normal.
We needs to figure out the proper way to fix this issue.
Option A: remove block from cache during unwinding
Option B: do not check cache when inserting
Option C: Tolerate the error and change the wording. (Maybe also some extra checks to make sure we are indeed in this scenario)
The text was updated successfully, but these errors were encountered: