Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Block request timeout not working #14683

Closed
altonen opened this issue Jul 30, 2023 · 2 comments
Closed

Block request timeout not working #14683

altonen opened this issue Jul 30, 2023 · 2 comments
Labels
I3-bug The node fails to follow expected behavior. U1-asap No need to stop dead in your tracks, however issue should be addressed as soon as possible.

Comments

@altonen
Copy link
Contributor

altonen commented Jul 30, 2023

While testing #14619, I noticed that full sync can sometimes get stuck at 0.0 bps which happens because ChainSync has MAX_DOWNLOAD_AHEAD blocks queued and it's waiting for one peer to respond to a request so it can start sending more block requests/flush its queue. For some reason the timeout mechanism is not working as it should and a request can stay unanswered for more than the 20 second limit it's currently configured at, causing syncing to stall.

FWIW, I've seen this happen on master as well. Timeout seems to be working just fine in tests.

@altonen altonen added I3-bug The node fails to follow expected behavior. U1-asap No need to stop dead in your tracks, however issue should be addressed as soon as possible. labels Jul 30, 2023
@altonen altonen moved this to In Progress 🛠 in Networking Jul 30, 2023
@altonen
Copy link
Contributor Author

altonen commented Jul 31, 2023

Looks like the node is sending a block request to a node which, according to Identify, doesn't support the block request protocol.

@altonen
Copy link
Contributor Author

altonen commented Jul 31, 2023

These nodes are parachain collators, meaning they support the /block-announces/1 substream but not the block request protocol while sc-network-sync expects any node to support the request protocol that supports the block announcement protocol.

We may have to introduce a new node subclass to SyncingEngine for collators. But the core issue right now is why is the multistream-select not concluding as failed for the request protocol.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
I3-bug The node fails to follow expected behavior. U1-asap No need to stop dead in your tracks, however issue should be addressed as soon as possible.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant