What would you like to be added
A TCP path for gossip, and a decision on whether TCP should be the default.
Why is this needed
The design doc says large state transfers use TCP. The code is UDP-only: operator/src/swim_runtime.rs binds a UdpSocket and there is no TCP path.
SWIM does not require UDP and foca is transport-agnostic, so this is a choice rather than a constraint. UDP is an unusual default for cross-cluster traffic in a Red Hat product and could be an opperational risk. We need to validate with product that UDP as a default is fine and we might need to consider adding the TCP version as a runtime configuration.
Filing to verify intent and start tracking.
From the Grid review, Gaps and Transport.
What would you like to be added
A TCP path for gossip, and a decision on whether TCP should be the default.
Why is this needed
The design doc says large state transfers use TCP. The code is UDP-only:
operator/src/swim_runtime.rsbinds aUdpSocketand there is no TCP path.SWIM does not require UDP and foca is transport-agnostic, so this is a choice rather than a constraint. UDP is an unusual default for cross-cluster traffic in a Red Hat product and could be an opperational risk. We need to validate with product that UDP as a default is fine and we might need to consider adding the TCP version as a runtime configuration.
Filing to verify intent and start tracking.
From the Grid review, Gaps and Transport.