Skip to content

ChainSync Timeouts #5250

@coot

Description

@coot
  • StNext StMustReply timeout for local root peers
  • StNext StMustReply timeout bump

StNext StMustReply Timeout for Local Root Peers

In the topology file the local root peers have an optional flag if the peer is trustable or not. (See PeerTrustable in CardanoNetworkTopology). For peers which are marked as IsTrustable we should not timeout in the StNext StMustReply state in timeLimitsChianSync function.

Implementation detail

Currently, the outbound governor does not pass the PeerTrustable flag to the callbacks. It can be passed as part of ExpandedInitiatorContext. Another indirection to tackle is that PeerTrustable is only a notion in cardano-diffusion, not ouroboros-network where peer selection passes ExpandedInitiatorContext to the callbacks, ref.

The timeLimitsChainSync function is used in the ouroboros-consensus-diffusion package. The Ouroboros.Consensus.Network.NodeToNode.mkApps has access to ExtendedInitiatorContext and the result of timeLimitsChainsSync. By calling timeLimitsChainSync inside the mkApps, we can make sure it has access to all the needed arguments (including the added PeerTrustable option).

StNext StMustReply Timeout Bump

The timeout for StNext StMustReply should be bumped from between 2-5mins to around 10-15min. This only requires modifying:

Metadata

Metadata

Type

No type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions