Skip to content
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

Fix: ChainDB QSM test flakyness #3651

Merged
merged 2 commits into from
Mar 23, 2022

Conversation

jasagredo
Copy link
Contributor

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the GetIsValid query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the `GetIsValid` query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440
Copy link
Member

@dnadales dnadales left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding this nice explanation Javier. Let's go over my comments on a call, and if @nfrisby does not object we can merge this.

@jasagredo jasagredo force-pushed the jasagredo/CAD-4002-solve-chaindb-qsm-flakyness branch from 3f8ff2b to 24f03b4 Compare March 14, 2022 11:31
@jasagredo
Copy link
Contributor Author

bors r+

iohk-bors bot added a commit that referenced this pull request Mar 14, 2022
3651: Fix: ChainDB QSM test flakyness r=Jasagredo a=Jasagredo

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the `GetIsValid` query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440

Co-authored-by: Javier Sagredo <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Mar 14, 2022

Build failed:

@jasagredo jasagredo force-pushed the jasagredo/CAD-4002-solve-chaindb-qsm-flakyness branch from 24f03b4 to ad7ed31 Compare March 14, 2022 12:06
@jasagredo
Copy link
Contributor Author

bors retry

iohk-bors bot added a commit that referenced this pull request Mar 14, 2022
3651: Fix: ChainDB QSM test flakyness r=Jasagredo a=Jasagredo

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the `GetIsValid` query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440

Co-authored-by: Javier Sagredo <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Mar 14, 2022

Build failed:

@jasagredo
Copy link
Contributor Author

bors r+

iohk-bors bot added a commit that referenced this pull request Mar 15, 2022
3651: Fix: ChainDB QSM test flakyness r=Jasagredo a=Jasagredo

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the `GetIsValid` query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440

Co-authored-by: Javier Sagredo <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Mar 15, 2022

Build failed:

@jasagredo
Copy link
Contributor Author

bors r+

iohk-bors bot added a commit that referenced this pull request Mar 16, 2022
3651: Fix: ChainDB QSM test flakyness r=Jasagredo a=Jasagredo

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the `GetIsValid` query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440

Co-authored-by: Javier Sagredo <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Mar 16, 2022

Build failed:

@jbgi
Copy link
Contributor

jbgi commented Mar 23, 2022

bors r+

iohk-bors bot added a commit that referenced this pull request Mar 23, 2022
3651: Fix: ChainDB QSM test flakyness r=jbgi a=Jasagredo

ChainDB QSM didn't have a notion of validity for blocks that were in
chain suffixes no longer connected to the Genesis block. It now carries
a Set of known-valid blocks to answer the `GetIsValid` query.

Closes CAD-4002
Closes CAD-3590
Closes CAD-3601
Closes #3389
Closes #3440

Co-authored-by: Javier Sagredo <[email protected]>
@iohk-bors
Copy link
Contributor

iohk-bors bot commented Mar 23, 2022

This PR was included in a batch that successfully built, but then failed to merge into master. It will not be retried.

Additional information:

{"message":"2 of 4 required status checks have not succeeded: 1 failing.","documentation_url":"https://docs.github.com/articles/about-protected-branches"}

@disassembler disassembler merged commit fa10cb4 into master Mar 23, 2022
@disassembler disassembler deleted the jasagredo/CAD-4002-solve-chaindb-qsm-flakyness branch March 23, 2022 17:35
coot pushed a commit that referenced this pull request May 16, 2022
amesgen added a commit to IntersectMBO/ouroboros-consensus that referenced this pull request Aug 10, 2023
amesgen added a commit to IntersectMBO/ouroboros-consensus that referenced this pull request Aug 10, 2023
amesgen added a commit to IntersectMBO/ouroboros-consensus that referenced this pull request Aug 11, 2023
amesgen added a commit to IntersectMBO/ouroboros-consensus that referenced this pull request Aug 15, 2023
amesgen added a commit to IntersectMBO/ouroboros-consensus that referenced this pull request Aug 15, 2023
github-merge-queue bot pushed a commit to IntersectMBO/ouroboros-consensus that referenced this pull request Aug 17, 2023
…repancy (#284)

This PR is the third round of fighting with a ChainDB q-s-m model vs SUT
discrepancy for `getIsValid`, see #123 for the history. The two previous
rounds either introduced new bugs or left certain bugs unaddressed.

The approach of this PR is to highlight the *cumulative* change over all
of these different fixes compared to the initial implementation is. For
this, we first revert
IntersectMBO/ouroboros-network#3651,
IntersectMBO/ouroboros-network#3743 and
IntersectMBO/ouroboros-network#3990 in the
first four commits. It is recommended to skip these while reviewing.

The fifth commit in this PR is then fixing the bug in one go with the
benefit of hindsight, see its commit description for details.

Closes #123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Triage another ChainDB q-s-m sequential failure Fix model/SUT discrepancy in Chain DB tests
4 participants