You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by "cdkrot (via GitHub)" <gi...@apache.org> on 2023/12/04 02:43:50 UTC
[PR] [SPARK-TBD] Forbid Recursive Error handling [spark]
cdkrot opened a new pull request, #44144:
URL: https://github.com/apache/spark/pull/44144
### What changes were proposed in this pull request?
Add safe guards into SparkConnectClient to forbid recursion during error handling.
### Why are the changes needed?
There is a certain codepath which can make existing error handling fall into infinite recursion. I.e. consider following codepath:
`[Some error happens] -> _handle_error -> _handle_rpc_error -> _display_server_stack_trace -> RuntimeConf.get -> config -> [An error happens] -> _handle_error`.
There could be more codepaths like that too.
### Does this PR introduce _any_ user-facing change?
Gets rid of potentially recursive error handling (which can cause downgraded user experience)
### How was this patch tested?
TODO
### Was this patch authored or co-authored using generative AI tooling?
No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413650634
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
We probably don't need two extra config request round trip to know whether to display stack trace or not. We can just determine whether to display stack trace based on whether the stack trace field in the response is empty
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413634624
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
It seems it's controlled by server, we only need some configuration to do this.
Another approach I see is to write `spark.sql.connect.serverStacktrace.enabled` in some form of lazy fetch and also put something forbidding recursion into this loader instead
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413618273
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
There may be some simpler approach to deal with recursive error handling (e.g. use the grpc stub to get the config value). Using ForbidRecursion seems to be a big hammer. Also we should have some tests for this scenario
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413627399
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
IMO, the logic that determines whether to display stack trace should be implemented on the sever side
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413626422
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
I like this hammer since it's very specific and allows to keep all existing fancies in error handling we already have :).
Regarding testing, I tried to write a test with mock stub which would fail, but I found that I need somewhat sophisticated GrpcError instance to pass this conversion https://github.com/apache/spark/blob/4398bb5d37328e2f3594302d98f98803a379a2e9/python/pyspark/sql/connect/client/core.py#L1559
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "HyukjinKwon (via GitHub)" <gi...@apache.org>.
HyukjinKwon commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413323952
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
I faced the same problem before too. In my case, I worked around by https://github.com/apache/spark/pull/43965/files#diff-831a8c82df3f07cbdaba03aaf7a0e9abaaf5dd6c63f9dd121e4a263e3094844eR1528.
Basically tries to get the config once, and do not retry if it fails. But wasn't sure if that's the best approach. cc @heyihong
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413615409
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
I looked into https://github.com/apache/spark/pull/43965/files#diff-831a8c82df3f07cbdaba03aaf7a0e9abaaf5dd6c63f9dd121e4a263e3094844eR1528, I think this is not enough.
```try: except:``` guard you have is a good idea, however it won't be triggered immediately by recursion, and the code will walk again into RuntimeConf.get and got into infinite recursion again.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413618273
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
There may be some simpler approach to deal with recursive error handling. Using ForbidRecursion seems to be a big hammer. Also we should have some tests for this case
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
There may be some simpler approach to deal with recursive error handling. Using ForbidRecursion seems to be a big hammer. Also we should have some tests for this scenario
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413627399
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
IMO, the logic that determines whether to display stack trace based on SQL Conf should be implemented on the sever side
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
IMO, the logic that determines whether to display stack trace based on SQL confs should be implemented on the sever side
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413618273
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
There may be some simpler approach to deal with recursive error handling. Using ForbidRecursion seems to be a big hammer
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Fix error handling routine so it wouldn't fall into infinite recursion [spark]
Posted by "HyukjinKwon (via GitHub)" <gi...@apache.org>.
HyukjinKwon closed pull request #44144: [SPARK-46241][PYTHON][CONNECT] Fix error handling routine so it wouldn't fall into infinite recursion
URL: https://github.com/apache/spark/pull/44144
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on PR #44144:
URL: https://github.com/apache/spark/pull/44144#issuecomment-1838249380
Changed to @heyihong's suggestion to always print a stacktrace if we got one (that makes sense). I checked up, there seems no other recursive problems currently. (Original proposal was https://github.com/apache/spark/pull/44144/commits/285b85ccae02517b520c221e02068aa88ef5687e)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413653582
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
That's a good idea, let's try this
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Fix error handling routine so it wouldn't fall into infinite recursion [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on PR #44144:
URL: https://github.com/apache/spark/pull/44144#issuecomment-1840499356
@HyukjinKwon it seems to be a flake, doesn't seem the change I'm doing could've affected this and this passed after retrigger
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413626422
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
I like this hammer since it's very specific and allows to keep all existing fancies in error handling we already have :). Happy to discuss other ideas too though
Regarding testing, I tried to write a test with mock stub which would fail, but I found that I need somewhat sophisticated GrpcError instance to pass this conversion https://github.com/apache/spark/blob/4398bb5d37328e2f3594302d98f98803a379a2e9/python/pyspark/sql/connect/client/core.py#L1559
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Fix error handling routine so it wouldn't fall into infinite recursion [spark]
Posted by "HyukjinKwon (via GitHub)" <gi...@apache.org>.
HyukjinKwon commented on PR #44144:
URL: https://github.com/apache/spark/pull/44144#issuecomment-1841803943
Merged to master.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Forbid Recursive Error handling [spark]
Posted by "heyihong (via GitHub)" <gi...@apache.org>.
heyihong commented on code in PR #44144:
URL: https://github.com/apache/spark/pull/44144#discussion_r1413650634
##########
python/pyspark/sql/connect/client/core.py:
##########
@@ -544,6 +544,25 @@ def fromProto(cls, pb: pb2.ConfigResponse) -> "ConfigResult":
)
+class ForbidRecursion:
Review Comment:
We probably don't need two extra config request round trip to know whether to display stack trace or not. We can just determine whether to display stack trace if stack trace field in the response is not empty
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-TBD] Forbid Recursive Error handling [spark]
Posted by "cdkrot (via GitHub)" <gi...@apache.org>.
cdkrot commented on PR #44144:
URL: https://github.com/apache/spark/pull/44144#issuecomment-1837751998
cc @HyukjinKwon, also @nija-at @grundprinzip
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-46241][PYTHON][CONNECT] Fix error handling routine so it wouldn't fall into infinite recursion [spark]
Posted by "HyukjinKwon (via GitHub)" <gi...@apache.org>.
HyukjinKwon commented on PR #44144:
URL: https://github.com/apache/spark/pull/44144#issuecomment-1839736413
Hm, test failure seems related?
```
======================================================================
ERROR [612.514s]: test_other_than_dataframe_iter (pyspark.sql.tests.connect.test_parity_pandas_map.MapInPandasParityTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/reattach.py", line 156, in _has_next
self._current = self._call_iter(
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/reattach.py", line 271, in _call_iter
raise e
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/reattach.py", line 253, in _call_iter
return iter_fun()
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/reattach.py", line 157, in <lambda>
lambda: next(self._iterator) # type: ignore[arg-type]
File "/usr/local/lib/python3.9/dist-packages/grpc/_channel.py", line 541, in __next__
return self._next()
File "/usr/local/lib/python3.9/dist-packages/grpc/_channel.py", line 967, in _next
raise self
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:33899: Failed to connect to remote host: Connection refused"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:33899: Failed to connect to remote host: Connection refused {grpc_status:14, created_time:"2023-12-04T11:06:56.275862745+00:00"}"
>
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/__w/apache_spark/apache_spark/python/pyspark/sql/tests/pandas/test_pandas_map.py", line 378, in test_self_join
df2 = df1.mapInPandas(lambda iter: iter, "id long")
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/dataframe.py", line 2043, in mapInPandas
return self._map_partitions(func, schema, PythonEvalType.SQL_MAP_PANDAS_ITER_UDF, barrier)
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/dataframe.py", line 2032, in _map_partitions
child=self._plan, function=udf_obj, cols=self.columns, is_barrier=barrier
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/dataframe.py", line 244, in columns
return self.schema.names
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/dataframe.py", line 1776, in schema
return self._session.client.schema(query)
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 912, in schema
schema = self._analyze(method="schema", plan=plan).schema
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1098, in _analyze
self._handle_error(error)
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1504, in _handle_error
raise error
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1091, in _analyze
for attempt in self._retrying():
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/retries.py", line 247, in __iter__
self._wait()
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/retries.py", line 232, in _wait
raise RetriesExceeded from exception
pyspark.sql.connect.client.retries.RetriesExceeded
======================================================================
ERROR [0.000s]: tearDownClass (pyspark.sql.tests.connect.test_parity_pandas_map.MapInPandasParityTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1433, in release_session
resp = self._stub.ReleaseSession(req, metadata=self._builder.metadata())
File "/usr/local/lib/python3.9/dist-packages/grpc/_channel.py", line 1161, in __call__
return _end_unary_response_blocking(state, call, False, None)
File "/usr/local/lib/python3.9/dist-packages/grpc/_channel.py", line 1004, in _end_unary_response_blocking
raise _InactiveRpcError(state) # pytype: disable=not-instantiable
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:33899: Failed to connect to remote host: Connection refused"
debug_error_string = "UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:33899: Failed to connect to remote host: Connection refused {created_time:"2023-12-04T11:27:19.924646308+00:00", grpc_status:14}"
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/__w/apache_spark/apache_spark/python/pyspark/testing/connectutils.py", line 194, in tearDownClass
cls.spark.stop()
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/session.py", line 655, in stop
self.client.release_session()
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1438, in release_session
self._handle_error(error)
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1504, in _handle_error
raise error
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/core.py", line 1431, in release_session
for attempt in self._retrying():
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/retries.py", line 247, in __iter__
self._wait()
File "/__w/apache_spark/apache_spark/python/pyspark/sql/connect/client/retries.py", line 232, in _wait
raise RetriesExceeded from exception
pyspark.sql.connect.client.retries.RetriesExceeded
----------------------------------------------------------------------
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org