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

[1.0.4] Fix nodeos_startup_catchup test #1033

Merged
merged 6 commits into from
Nov 21, 2024

Conversation

linh2931
Copy link
Member

The test is broken in Rel 1.0.3 and flaky in main. The counts the number of unlinkable_block occurrences in logging files and make sure it is not greater than 500.

But in Rel 1.0.3, unlinkable_block (part of unlinkable_block_exception) shows up 3 times per unlinkable block, for example:

warn  2024-11-14T13:48:06.038 nodeos    controller.cpp:4334           push_block           ] 3030001 unlinkable_block_exception: Unlinkable block
info  2024-11-14T13:48:06.038 nodeos    producer_plugin.cpp:938       operator()           ] Exception on block 130: 3030001 unlinkable_block_exception: Unlinkable block
info  2024-11-14T13:48:06.038 nodeos    net_plugin.cpp:3870           process_signed_block ] unlinkable_block_exception connection - 1: #130 1d74c43582d10251...: Unlinkable block (3030001)

This PR searches for unlinkable_block_exception connection - \d+: #(\d+), extracts the unlinkable block number, and verifies that

  1. unlinkable blocks are consecutive
  2. the number of unlinkable blocks is less than sync fetch span

Resolves #1015

@linh2931 linh2931 requested review from heifner and greg7mdp November 14, 2024 23:05
@greg7mdp
Copy link
Contributor

Can you explain why the number of unlinkable blocks is bounded by sync fetch span in order not to be an error? It doesn't seem obvious to me.

@linh2931
Copy link
Member Author

Can you explain why the number of unlinkable blocks is bounded by sync fetch span in order not to be an error? It doesn't seem obvious to me.

The idea is, it is inevitable to have some unlinkable blocks; the worst case is all blocks in a batch are temporarily unlinkable.

@linh2931 linh2931 merged commit 83d4867 into release/1.0 Nov 21, 2024
36 checks passed
@linh2931 linh2931 deleted the fix_flaky_startup_catchup_test branch November 21, 2024 14:16
@ericpassmore
Copy link
Contributor

Note:start
category: Tests
component: Internal
summary: Fix nodeos_startup_catchup tests.
Note:end

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.

4 participants