You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Holden Karau (Jira)" <ji...@apache.org> on 2021/09/13 19:55:00 UTC

[jira] [Commented] (SPARK-35834) Use the same cleanup logic as Py4J in inheritable thread API

    [ https://issues.apache.org/jira/browse/SPARK-35834?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17414562#comment-17414562 ] 

Holden Karau commented on SPARK-35834:
--------------------------------------

Is this a test only issue or a regression for Python users?

> Use the same cleanup logic as Py4J in inheritable thread API
> ------------------------------------------------------------
>
>                 Key: SPARK-35834
>                 URL: https://issues.apache.org/jira/browse/SPARK-35834
>             Project: Spark
>          Issue Type: Bug
>          Components: PySpark
>    Affects Versions: 3.2.0
>            Reporter: Hyukjin Kwon
>            Priority: Major
>
> After https://github.com/apache/spark/commit/6d309914df422d9f0c96edfd37924ecb8f29e3a9, the test became flaky:
> {code}
> ======================================================================
> ERROR [71.813s]: test_save_load_pipeline_estimator (pyspark.ml.tests.test_tuning.CrossValidatorTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/__w/spark/spark/python/pyspark/ml/tests/test_tuning.py", line 589, in test_save_load_pipeline_estimator
>     self._run_test_save_load_pipeline_estimator(DummyLogisticRegression)
>   File "/__w/spark/spark/python/pyspark/ml/tests/test_tuning.py", line 572, in _run_test_save_load_pipeline_estimator
>     cvModel2 = crossval2.fit(training)
>   File "/__w/spark/spark/python/pyspark/ml/base.py", line 161, in fit
>     return self._fit(dataset)
>   File "/__w/spark/spark/python/pyspark/ml/tuning.py", line 747, in _fit
>     bestModel = est.fit(dataset, epm[bestIndex])
>   File "/__w/spark/spark/python/pyspark/ml/base.py", line 159, in fit
>     return self.copy(params)._fit(dataset)
>   File "/__w/spark/spark/python/pyspark/ml/pipeline.py", line 114, in _fit
>     model = stage.fit(dataset)
>   File "/__w/spark/spark/python/pyspark/ml/base.py", line 161, in fit
>     return self._fit(dataset)
>   File "/__w/spark/spark/python/pyspark/ml/pipeline.py", line 114, in _fit
>     model = stage.fit(dataset)
>   File "/__w/spark/spark/python/pyspark/ml/base.py", line 161, in fit
>     return self._fit(dataset)
>   File "/__w/spark/spark/python/pyspark/ml/classification.py", line 2924, in _fit
>     models = pool.map(inheritable_thread_target(trainSingleClass), range(numClasses))
>   File "/__t/Python/3.6.13/x64/lib/python3.6/multiprocessing/pool.py", line 266, in map
>     return self._map_async(func, iterable, mapstar, chunksize).get()
>   File "/__t/Python/3.6.13/x64/lib/python3.6/multiprocessing/pool.py", line 644, in get
>     raise self._value
>   File "/__t/Python/3.6.13/x64/lib/python3.6/multiprocessing/pool.py", line 119, in worker
>     result = (True, func(*args, **kwds))
>   File "/__t/Python/3.6.13/x64/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar
>     return list(map(*args))
>   File "/__w/spark/spark/python/pyspark/util.py", line 324, in wrapped
>     InheritableThread._clean_py4j_conn_for_current_thread()
>   File "/__w/spark/spark/python/pyspark/util.py", line 389, in _clean_py4j_conn_for_current_thread
>     del connections[i]
> IndexError: deque index out of range
> ----------------------------------------------------------------------
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org