Skip to content

Add new PoA network option to use bootnodes during any peer table refresh, not just the first one#7314

Merged
matthew1001 merged 6 commits intobesu-eth:mainfrom
matthew1001:bootnodes-refresh
Jul 23, 2024
Merged

Add new PoA network option to use bootnodes during any peer table refresh, not just the first one#7314
matthew1001 merged 6 commits intobesu-eth:mainfrom
matthew1001:bootnodes-refresh

Conversation

@matthew1001
Copy link
Copy Markdown
Contributor

@matthew1001 matthew1001 commented Jul 12, 2024

PR description

This PR adds the option (in PoA networks only) to query the bootnodes whenever the peer table is being refreshed.

The behaviour today is that the bootnodes are queried on first startup, but if no peers are found on that occasion Besu will not use the bootnode again until it is restarted.

The new option is on by default. Setting --poa-discovery-retry-bootnodes=false disables it.

Locally, you can run these tests to catch failures early:

  • unit tests: ./gradlew build
  • acceptance tests: ./gradlew acceptanceTest
  • integration tests: ./gradlew integrationTest
  • reference tests: ./gradlew ethereum:referenceTests:referenceTests

… not just the first one

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 changed the title Add new config option to use bootnodes during any peer table refresh, not just the first one Add new PoA network option to use bootnodes during any peer table refresh, not just the first one Jul 12, 2024
matthew1001 and others added 2 commits July 12, 2024 18:00
Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
@matthew1001 matthew1001 marked this pull request as ready for review July 15, 2024 09:19
Copy link
Copy Markdown
Contributor

@pinges pinges left a comment

Choose a reason for hiding this comment

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

I have added one suggestion. Otherwise LGTM.

…iscovery/internal/PeerDiscoveryController.java

Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
@matthew1001 matthew1001 enabled auto-merge (squash) July 23, 2024 07:38
@matthew1001 matthew1001 merged commit 7e4a25a into besu-eth:main Jul 23, 2024
gconnect pushed a commit to gconnect/besu that referenced this pull request Aug 26, 2024
…resh, not just the first one (besu-eth#7314)

* Add new config option to use bootnodes during any peer table refresh, not just the first one

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update everything-config list

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Revert debug setting

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>

* Update ethereum/p2p/src/main/java/org/hyperledger/besu/ethereum/p2p/discovery/internal/PeerDiscoveryController.java

Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>

---------

Signed-off-by: Matthew Whitehead <matthew1001@gmail.com>
Signed-off-by: Matt Whitehead <matthew1001@hotmail.com>
Co-authored-by: Stefan Pingel <16143240+pinges@users.noreply.github.com>
Signed-off-by: gconnect <agatevureglory@gmail.com>
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.

2 participants