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

Antoine Pitrou commented on ARROW-12161:
----------------------------------------

Can you explain what work would be wasted in option 2?

> [C++] Async streaming CSV reader deadlocking when being run synchronously 
> from datasets
> ---------------------------------------------------------------------------------------
>
>                 Key: ARROW-12161
>                 URL: https://issues.apache.org/jira/browse/ARROW-12161
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Weston Pace
>            Assignee: Weston Pace
>            Priority: Major
>
> ARROW-11887 added async to the streaming CSV reader.  In order to keep 
> backwards compatibility the old sync API simply calls the async API and waits 
> for it to finish.  However, that wait cannot happen safely in a "nested" 
> context (e.g. dataset reading).
> For example, imagine two cores.  The dataset read launches two CSV scans.  
> Each scan occupies a core waiting for a future.  Those futures are being 
> filled by I/O threads.  The I/O threads finish and go to transfer.  The 
> transfer cannot happen because the CPU executor is filled.
> This will be fixed as part of ARROW-7001 but that still some ways away.  An 
> easier change might be to take some of the 7001 changes and include them as 
> part of the 11887 feature.



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

Reply via email to