Yicong Huang created SPARK-60230:
------------------------------------
Summary: Fix flaky TorchDistributor distributed training failing
with EADDRINUSE on MASTER_PORT
Key: SPARK-60230
URL: https://issues.apache.org/jira/browse/SPARK-60230
Project: Spark
Issue Type: Test
Components: ML
Affects Versions: 5.0.0
Reporter: Yicong Huang
pyspark.ml.tests.connect.test_connect_pipeline
PipelineTestsOnConnect.test_pipeline occasionally fails in CI with
torch.distributed.DistNetworkError (EADDRINUSE) when torchrun's static
rendezvous creates its TCPStore on MASTER_PORT.
TorchDistributor picks MASTER_PORT in the barrier task by binding a socket to
port 0 and then releasing it, so another socket can take the port before
torchrun binds it. The fix keeps the socket bound with SO_REUSEADDR (not
listening) until training finishes, so the port stays reserved while TCPStore,
which also sets SO_REUSEADDR, can still listen on it.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]