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

Ignore expected "proposal is not based on the current chain tip" error in getblocktemplate acceptance test #6079

Closed
arya2 opened this issue Feb 1, 2023 · 3 comments · Fixed by #6091
Assignees
Labels
A-rpc Area: Remote Procedure Call interfaces C-enhancement Category: This is an improvement C-testing Category: These are tests I-integration-fail Continuous integration fails, including build and test failures

Comments

@arya2
Copy link
Contributor

arya2 commented Feb 1, 2023

Motivation

We've seen the getblocktemplate test fail in CI with:

"proposal is not based on the current best chain tip"

(see #6013 (comment))

Possible Design

  • Use getblocktemplate with long-polling in acceptance test
  • Ignore/retry the getblocktemplate request in proposal mode if a new template is received from the long-polling request
  • Wait a second for the long-polling to return after the block proposal result if it fails because it's not based on the current best chain tip?

Alternative Design

  • We already try the test multiple times. Make the test pass if there is at least one success, and all of the errors are "proposal is not based on the current best chain tip".

Another Alternative

We might also want to think about how we handle "previous block is not the tip block" errors in CI, which are expected when a new block arrives. We might need to check the tip is the same before and after the proposal before we fail the test.
#5963 (comment)

@arya2 arya2 added C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage C-testing Category: These are tests A-rpc Area: Remote Procedure Call interfaces labels Feb 1, 2023
@mpguerra mpguerra added this to Zebra Feb 1, 2023
@github-project-automation github-project-automation bot moved this to 🆕 New in Zebra Feb 1, 2023
@teor2345
Copy link
Contributor

teor2345 commented Feb 1, 2023

I just added an alternative fix here:

  • We already try the test multiple times. Make the test pass if there is at least one success, and all of the errors are "proposal is not based on the current best chain tip".

@teor2345 teor2345 added P-High 🔥 I-integration-fail Continuous integration fails, including build and test failures labels Feb 1, 2023
@teor2345
Copy link
Contributor

teor2345 commented Feb 1, 2023

This seems like a high priority because it is causing CI failures in unrelated PRs.

@teor2345 teor2345 changed the title Fix timing issue in getblocktemplate acceptance test Ignore expected "proposal is not based on the current chain tip" error in getblocktemplate acceptance test Feb 1, 2023
@arya2 arya2 self-assigned this Feb 1, 2023
@mpguerra
Copy link
Contributor

mpguerra commented Feb 2, 2023

@arya2 can you please add an estimate here?

@mergify mergify bot closed this as completed in #6091 Feb 3, 2023
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in Zebra Feb 3, 2023
@mpguerra mpguerra removed the S-needs-triage Status: A bug report needs triage label Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rpc Area: Remote Procedure Call interfaces C-enhancement Category: This is an improvement C-testing Category: These are tests I-integration-fail Continuous integration fails, including build and test failures
Projects
Archived in project
3 participants