[ 
https://issues.apache.org/jira/browse/SPARK-37089?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ankur Dave updated SPARK-37089:
-------------------------------
    Description: 
The task completion listener that closes the vectorized reader is registered 
lazily in ParquetFileFormat#buildReaderWithPartitionValues(). Since task 
completion listeners are executed in reverse order of registration, it always 
runs before the Python writer thread can be interrupted.

This contradicts the assumption in 
https://issues.apache.org/jira/browse/SPARK-37088 / 
https://github.com/apache/spark/pull/34245 that task completion listeners are 
registered bottom-up, preventing that fix from working properly.

  was:
The task completion listener that closes the vectorized reader is registered 
lazily in ParquetFileFormat#buildReaderWithPartitionValues(). Since task 
completion listeners are executed in reverse order of registration, it always 
runs before the Python writer thread can be interrupted.

This contradicts the assumption in https://github.com/apache/spark/pull/34245 
that task completion listeners are registered bottom-up, preventing that fix 
from working properly.


> ParquetFileFormat registers task completion listeners lazily, causing Python 
> writer thread to segfault when off-heap vectorized reader is enabled
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SPARK-37089
>                 URL: https://issues.apache.org/jira/browse/SPARK-37089
>             Project: Spark
>          Issue Type: Bug
>          Components: PySpark, SQL
>    Affects Versions: 3.0.3, 3.1.2, 3.2.0
>            Reporter: Ankur Dave
>            Assignee: Ankur Dave
>            Priority: Major
>
> The task completion listener that closes the vectorized reader is registered 
> lazily in ParquetFileFormat#buildReaderWithPartitionValues(). Since task 
> completion listeners are executed in reverse order of registration, it always 
> runs before the Python writer thread can be interrupted.
> This contradicts the assumption in 
> https://issues.apache.org/jira/browse/SPARK-37088 / 
> https://github.com/apache/spark/pull/34245 that task completion listeners are 
> registered bottom-up, preventing that fix from working properly.



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

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

Reply via email to