besu
besu copied to clipboard
Check for snap server
Thanks for sending a pull request! Have you done the following?
- [ ] Checked out our contribution guidelines?
- [ ] Considered documentation and added the
doc-change-required
label to this PR if updates are required. - [ ] Considered the changelog and included an update if required.
- [ ] For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests
Most advanced CI tests are deferred until PR approval, but you could:
- [ ] locally run all unit tests via:
./gradlew build
- [ ] locally run all acceptance tests via:
./gradlew acceptanceTest
- [ ] locally run all integration tests via:
./gradlew integrationTest
- [ ] locally run all reference tests via:
./gradlew ethereum:referenceTests:referenceTests
PR description
When we are connecting to an EthPeer and we are doing snap sync find out whether that peer does serve snap data. This is needed to make sure that we have a minimum of snap data serving peers and to make sure that we only send snap requests to peers that serve snap data.
made RetryingGetAccountRangeFromPeerTask use switching peer because seeing a lot of these errors
{"@timestamp":"2024-04-12T07:44:00,963","level":"WARN","thread":"EthScheduler-Timer-0","class":"RequestDataStep","message":"Error handling account download accounts (0x1000000000000000000000000000000000000000000000000000000000000000 - 0x1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) task: org.hyperledger.besu.ethereum.eth.manager.exceptions.MaxRetriesReachedException: Task failed: MAX_RETRIES_REACHED","throwable":""}
{"@timestamp":"2024-04-12T07:44:00,963","level":"WARN","thread":"EthScheduler-Timer-0","class":"RequestDataStep","message":"Error handling account download accounts (0x2000000000000000000000000000000000000000000000000000000000000000 - 0x2fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) task: org.hyperledger.besu.ethereum.eth.manager.exceptions.MaxRetriesReachedException: Task failed: MAX_RETRIES_REACHED","throwable":""}
{"@timestamp":"2024-04-12T07:44:00,963","level":"WARN","thread":"EthScheduler-Timer-0","class":"RequestDataStep","message":"Error handling account download accounts (0x3000000000000000000000000000000000000000000000000000000000000000 - 0x3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) task: org.hyperledger.besu.ethereum.eth.manager.exceptions.MaxRetriesReachedException: Task failed: MAX_RETRIES_REACHED","throwable":""}
with recent updates (importantly using SNAP and CHECKPOINT not X_SNAP X_CHECKPOINT), nodes are getting in sync eg