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

testing: improve e2e test bootstrapping #3690

Merged
merged 3 commits into from
Jan 31, 2025

Conversation

tsachiherman
Copy link
Contributor

@tsachiherman tsachiherman commented Jan 31, 2025

Why this should be merged

This PR remove the redundant testing for bootstrapping nodes after the nodes have already been verified to be healthy.

How this works

trivial.

How this was tested

Tested using existing tests.

Need to be documented in RELEASES.md?

no.

@tsachiherman tsachiherman self-assigned this Jan 31, 2025
@tsachiherman tsachiherman marked this pull request as ready for review January 31, 2025 20:13
Comment on lines 165 to 175
allValidatorsBootstrapped := true
for i := len(pendingBootstappingChains) - 1; i >= 0; i-- {
pending := pendingBootstappingChains[i]
uri, err := network.GetURIForNodeID(pending.validatorID)
require.NoError(err)
infoClient := info.NewClient(uri)
isBootstrapped, err := infoClient.IsBootstrapped(tc.DefaultContext(), pending.chainID.String())
// Ignore errors since a chain id that is not yet known will result in a recoverable error.
if err != nil || !isBootstrapped {
allValidatorsBootstrapped = false
continue
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why do we perform an IsBootstrapped check here rather than checking if the node is healthy? If the node reports healthy, all bootstrapping checks should pass and this will include correctly checking that dynamic state sync has completed (which is handled as a bit of an outlier).

Copy link
Contributor Author

@tsachiherman tsachiherman Jan 31, 2025

Choose a reason for hiding this comment

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

by the time we reach this point, the health check was already complete against all the nodes. Some differences:

  • The health checking doesn't seem to be chain-specific, whereas the bootstrapping test is.
  • When doing the health checking, the port would get dynamically refreshed. That's won't happen during the bootstrapping testing.

@tsachiherman tsachiherman changed the title testing: improve e2e testing bootsrapping testing: improve e2e test bootstrapping Jan 31, 2025
@tsachiherman tsachiherman added this pull request to the merge queue Jan 31, 2025
Merged via the queue into master with commit 44ac37e Jan 31, 2025
22 checks passed
@tsachiherman tsachiherman deleted the tsachi/tmpnet-one-bootstrapping-test branch January 31, 2025 22:08
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.

3 participants