[
https://issues.apache.org/jira/browse/SPARK-58162?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wenchen Fan resolved SPARK-58162.
---------------------------------
Fix Version/s: 4.3.0
Resolution: Fixed
Issue resolved by pull request 57320
[https://github.com/apache/spark/pull/57320]
> Spark Connect client-side unbounded RetryException retry loop in reattach
> path can hang forever
> -----------------------------------------------------------------------------------------------
>
> Key: SPARK-58162
> URL: https://issues.apache.org/jira/browse/SPARK-58162
> Project: Spark
> Issue Type: Bug
> Components: Connect
> Affects Versions: 4.1.0, 4.2.0, 4.3.0, 5.0.0
> Reporter: Vinod KC
> Assignee: Vinod KC
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.3.0
>
> Attachments: spark-connect-retryexception-hang-demo.zip
>
>
> This is a Spark Connect client-side issue . The bug is entirely in the
> client's local retry/reattach handling logic (both the Scala and Python
> Connect clients).
> Spark Connect's client-side reattach logic retries an internal error marker
> (RetryException) with no limit — no retry count cap, no backoff, and no time
> bound.
> This marker is raised client-side when a reattach attempt keeps hitting
> `DEADLINE_EXCEEDED`, or when the initial query
> never reached the server at all.
> If the connection to the server becomes unable to make progress (e.g. a load
> balancer or NAT gateway silently drops it, or gRPC keepalive is disabled or
> hasn't detected the dead connection yet), the client retries this cycle
> forever, entirely on its own — the server is stateless in this exchange and
> does nothing wrong. The client never returns and never throws — a permanent
> hang, affecting both the Scala and Python clients identically.
> A minimal, runnable reproduction is attached:
> `spark-connect-retryexception-hang-demo.zip` a real Spark Connect server, a
> separate client process, and a small proxy that can be frozen to simulate a
> dropped connection. A thread dump confirms the client is permanently stuck
> retrying inside its own reattach retry loop, with no way out, while the
> server remains idle and unaffected throughout.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]