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
If a finality_data_t is returned, it is written to the finality data log. Otherwise, nothing is done with the log.
Remember though that ship log entries must be continuous: there can be no gaps in them.
Consider that savanna transition begins on block 200, and continues for another block 201. This will write two entries in to ship's finality data log: block 200 and 201. Now consider that a new fork is switched to back on block 198, and that this fork continues without savanna activation; say it continues on to block 220.
At this point, ship will continue to indicate a finality data log of blocks 200 through 201 and even return finality data for those blocks even though that never happened from the standpoint of the current fork being followed.
But then consider on block 221 there is another attempt to transition to savanna. This will cause ship to attempt to write to block 221 of the finality log, but this will be flagged as a discontinuity in ship due to the gap between 201 and 221. Ultimately this will cause the node to shut down.
The text was updated successfully, but these errors were encountered:
Should we stop sending finality_data of transitional blocks, and only send them after transition to Savanna is finalized? Need some mechanism to coordinate SHiP and the controller.
Notice how ship plugin writes to the finality data log,
spring/plugins/state_history_plugin/state_history_plugin.cpp
Lines 189 to 200 in 391be54
If a
finality_data_t
is returned, it is written to the finality data log. Otherwise, nothing is done with the log.Remember though that ship log entries must be continuous: there can be no gaps in them.
Consider that savanna transition begins on block 200, and continues for another block 201. This will write two entries in to ship's finality data log: block 200 and 201. Now consider that a new fork is switched to back on block 198, and that this fork continues without savanna activation; say it continues on to block 220.
At this point, ship will continue to indicate a finality data log of blocks 200 through 201 and even return finality data for those blocks even though that never happened from the standpoint of the current fork being followed.
But then consider on block 221 there is another attempt to transition to savanna. This will cause ship to attempt to write to block 221 of the finality log, but this will be flagged as a discontinuity in ship due to the gap between 201 and 221. Ultimately this will cause the node to shut down.
The text was updated successfully, but these errors were encountered: