Validate ChainStore tip on load#600
Conversation
|
@francois, (1) during After this PR we should be able to claim that the header "should" always be present in the database after the This is not necessarily a solution to the observed issue but it will eliminate or help identify a possible point of failure. |
|
@quantumagi can you check the tests please? https://dev.azure.com/StratisProject/StratisFullNode/_build/results?buildId=28747&view=results |
|
@quantumagi please comfirm whether you have at least done a full sync with StraxMain and partially synced CirrusMain? |
* Validate ChainStore tip on load * Change comment * Update tests * Dispose IChainStore * Bump version
* Better collateral address checking (#670) * Add collateral address check to GetModifiedFederation (#671) * Remove logging from federation build logic * Update all versions to 1.0.9.3 * Add null check in IdleMemberKicker (#673) * Add null check in IdleMemberKicker * Update IdleFederationMembersKicker.cs * Bump version * Add null check in IdleMemberKicker (#673) (#674) * Add null check in IdleMemberKicker * Update IdleFederationMembersKicker.cs * Update all project versions to 1.0.9.4 * Bump SC versions * Validate ChainStore tip on load (#600) * Validate ChainStore tip on load * Change comment * Update tests * Dispose IChainStore * Bump version * CirrusMain checkpoint 2_827_550 (#680) * Bump version to 1.0.9.5 * Merge Disable signature rule in IBD #579 from release/1.1.0.0 Co-authored-by: quantumagi <someguy.fromafrica@gmail.com>
* Better collateral address checking (#670) * Add collateral address check to GetModifiedFederation (#671) * Remove logging from federation build logic * Update all versions to 1.0.9.3 * Add null check in IdleMemberKicker (#673) * Add null check in IdleMemberKicker * Update IdleFederationMembersKicker.cs * Bump version * Add null check in IdleMemberKicker (#673) (#674) * Add null check in IdleMemberKicker * Update IdleFederationMembersKicker.cs * Update all project versions to 1.0.9.4 * Bump SC versions * Validate ChainStore tip on load (#600) * Validate ChainStore tip on load * Change comment * Update tests * Dispose IChainStore * Bump version * CirrusMain checkpoint 2_827_550 (#680) * Bump version to 1.0.9.5 * Merge Disable signature rule in IBD #579 from release/1.1.0.0 * UI SignalR improvements / Move UI notification outside of loop blocks (#686) Co-authored-by: quantumagi <someguy.fromafrica@gmail.com>

See https://app.clickup.com/t/46vgx6.
The
ChainStoreconsists of two tables which could conceivably go out of whack due to the fact that these tables are individually updated (i.e. non-atomically). This PR adds a check toLoadAsyncto ensure that the tip of the chain table corresponds to an available header in the headers table.