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

Peers sync a while and would stop the connection #7865

Open
davidpang731 opened this issue Nov 7, 2024 · 4 comments
Open

Peers sync a while and would stop the connection #7865

davidpang731 opened this issue Nov 7, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@davidpang731
Copy link

davidpang731 commented Nov 7, 2024

Hi all, I have a question about peers and sync. Here is the background.

Version: 21.10.0 official image, hyperledger/besu:21.10.0
Nodes: a FAST node and a FULL node. FAST and FULL means the sync-mode value.
Config: 2 nodes use the same static-nodes-file / genesis.json, but use different the data path and sync-mode
Machine: AWS i3en.3xlarge

The problem is that only FULL node could keep the successful peer sync, and FAST node could only sync for a while(maybe 20 minutes). After about 20 minutes, the FAST node would have no peers. Even I update the besu version to 24.10.0 and still got the same result. But if I restart the FAST node, it could sync 20 minutes again.

Could anybody help me to solve this problem? And I would thank a million.

@davidpang731 davidpang731 added the bug Something isn't working label Nov 7, 2024
@davidpang731
Copy link
Author

Here are some important logs about FAST node.

wyzth-besu | 2024-11-06 07:36:13.831+00:00 | EthScheduler-Timer-0 | INFO | AbstractRetryingPeerTask | No peers available, waiting for peers: 0
wyzth-besu | 2024-11-06 07:36:13.831+00:00 | EthScheduler-Timer-0 | DEBUG | WaitForPeerTask | Waiting for new peer connection. 0 peers currently connected.
wyzth-besu | 2024-11-06 07:36:13.829+00:00 | EthScheduler-Services-12 (downloadHeaders) | DEBUG | Pipeline | Unhandled exception in pipeline. Aborting.
wyzth-besu | java.lang.RuntimeException: Async operation failed. org.hyperledger.besu.ethereum.eth.manager.exceptions.MaxRetriesReachedException: Task failed: MAX_RETRIES_REACHED
wyzth-besu | at org.hyperledger.besu.services.pipeline.AsyncOperationProcessor.outputNextCompletedTask(AsyncOperationProcessor.java:86)
wyzth-besu | at org.hyperledger.besu.services.pipeline.AsyncOperationProcessor.processNextInput(AsyncOperationProcessor.java:64)
wyzth-besu | at org.hyperledger.besu.services.pipeline.ProcessingStage.run(ProcessingStage.java:38)
wyzth-besu | at org.hyperledger.besu.services.pipeline.Pipeline.lambda$runWithErrorHandling$3(Pipeline.java:152)
wyzth-besu | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
wyzth-besu | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
wyzth-besu | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
wyzth-besu | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
wyzth-besu | at java.base/java.lang.Thread.run(Unknown Source)
wyzth-besu | Caused by: java.util.concurrent.ExecutionException: org.hyperledger.besu.ethereum.eth.manager.exceptions.MaxRetriesReachedException: Task failed: MAX_RETRIES_REACHED
wyzth-besu | at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
wyzth-besu | at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)

@davidpang731
Copy link
Author

wyzth-besu | 2024-11-06 07:36:13.832+00:00 | EthScheduler-Services-10 (downloadBodies) | DEBUG | PipelineChainDownloader | Chain download failed. Restarting after short delay.

@davidpang731
Copy link
Author

davidpang731 commented Nov 7, 2024

Wait.. It has similar issues in the KNOWN_ISSUES.md, but this does not show "block checksum mismatch".

https://github.com/hyperledger/besu/blob/main/KNOWN_ISSUES.md#fast-sync-when-running-besu-on-cloud-providers

@siladu
Copy link
Contributor

siladu commented Nov 25, 2024

Hi @zhengfengpang FAST sync will soon be deprecated. Can you confirm if you're using this for a public or private network, e.g. QBFT?

If QBFT, then you could try it's successor sync-mode=SNAP but you will also need to use this flag: --Xsnapsync-bft-enabled - some comments about it here: https://besu.hyperledger.org/private-networks/how-to/configure/consensus/qbft
and feel free to ask questions in the #besu-enterprise discord channel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants