You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Jayjeet Chakraborty (Jira)" <ji...@apache.org> on 2021/06/16 05:19:00 UTC
[jira] [Updated] (ARROW-13088) Dataset API calls with nested
parallelism does not progress
[ https://issues.apache.org/jira/browse/ARROW-13088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jayjeet Chakraborty updated ARROW-13088:
----------------------------------------
Description:
Launching nested threads using the C++ ThreadPool causes the Dataset API (C++/Python using the SyncScanner/AsyncScanner) to stop progressing. The execution just hangs and keeps waiting. Examples of nested threading:
# Force turn on parallel column reads in ParquetFileFormat by tweaking the code [here|https://github.com/apache/arrow/blob/master/cpp/src/arrow/dataset/file_parquet.cc#L327] to get into nested parallelism (for every scan task launched in parallel to spawn threads internally).
# Create a simple dataset containing Parquet files of count X (where X >= No. of logical cores).
# {{Just do a dataset.to_table() call.}}
The execution should stop and go into a kind of a sleep state immediately.
was:
Launching nested threads using the C++ ThreadPool causes the Dataset API (C++/Python using the SyncScanner/AsyncScanner) to stop progressing. The execution just hangs and keeps waiting. Examples of nested threading:
# Force turn on parallel column reads in ParquetFileFormat by tweaking the code [here|https://github.com/apache/arrow/blob/master/cpp/src/arrow/dataset/file_parquet.cc#L327] to get into nested parallelism (for every scan task launched in parallel to spawn threads internally).
# Create a simple dataset containing Parquet files of count X (where X >= No. of logical cores).
# {{Just to a dataset.to_table() call.}}
The execution should stop and go into a kind of a sleep state immediately.
> Dataset API calls with nested parallelism does not progress
> -----------------------------------------------------------
>
> Key: ARROW-13088
> URL: https://issues.apache.org/jira/browse/ARROW-13088
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Affects Versions: 3.0.0, 4.0.1
> Reporter: Jayjeet Chakraborty
> Priority: Major
>
> Launching nested threads using the C++ ThreadPool causes the Dataset API (C++/Python using the SyncScanner/AsyncScanner) to stop progressing. The execution just hangs and keeps waiting. Examples of nested threading:
> # Force turn on parallel column reads in ParquetFileFormat by tweaking the code [here|https://github.com/apache/arrow/blob/master/cpp/src/arrow/dataset/file_parquet.cc#L327] to get into nested parallelism (for every scan task launched in parallel to spawn threads internally).
> # Create a simple dataset containing Parquet files of count X (where X >= No. of logical cores).
> # {{Just do a dataset.to_table() call.}}
> The execution should stop and go into a kind of a sleep state immediately.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)