Adam Hooper created ARROW-10033:
-----------------------------------

             Summary: ArrowReaderProperties creates thread pool, even when 
use_threads=False and pre_buffer=False
                 Key: ARROW-10033
                 URL: https://issues.apache.org/jira/browse/ARROW-10033
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
    Affects Versions: 1.0.1
            Reporter: Adam Hooper


`ArrowReaderProperties` has a `::arrow::io::AsyncContext async_context_;` 
member. Its ctor creates a thread pool.

Stack trace:

```
#0  arrow::internal::ThreadPool::ThreadPool (this=0x232fa90) at 
/src/apache-arrow-1.0.1/cpp/src/arrow/util/thread_pool.cc:121
#1  0x00000000008e4747 in arrow::internal::ThreadPool::Make (threads=8)
    at /src/apache-arrow-1.0.1/cpp/src/arrow/util/thread_pool.cc:246
#2  0x00000000008e48c9 in arrow::internal::ThreadPool::MakeEternal (threads=8)
    at /src/apache-arrow-1.0.1/cpp/src/arrow/util/thread_pool.cc:252
#3  0x00000000008a20ac in arrow::io::internal::MakeIOThreadPool () at 
/src/apache-arrow-1.0.1/cpp/src/arrow/io/interfaces.cc:326
#4  0x00000000008a21dd in arrow::io::internal::GetIOThreadPool () at 
/src/apache-arrow-1.0.1/cpp/src/arrow/io/interfaces.cc:334
#5  0x00000000008a064f in arrow::io::AsyncContext::AsyncContext (
    this=0xea6bb0 
<parquet::default_arrow_reader_properties()::default_reader_props+80>)
    at /src/apache-arrow-1.0.1/cpp/src/arrow/io/interfaces.cc:49
#6  0x000000000048893e in parquet::ArrowReaderProperties::ArrowReaderProperties 
(
    this=0xea6b60 
<parquet::default_arrow_reader_properties()::default_reader_props>, 
use_threads=false)
    at /src/apache-arrow-1.0.1/cpp/src/parquet/properties.h:579
#7  0x00000000005e1b98 in parquet::default_arrow_reader_properties () at 
/src/apache-arrow-1.0.1/cpp/src/parquet/properties.cc:53
#8  0x0000000000414843 in parquet::arrow::FileReaderBuilder::FileReaderBuilder 
(this=0x7fffb31f0c60)
    at /src/apache-arrow-1.0.1/cpp/src/parquet/arrow/reader.cc:930
#9  0x0000000000414b10 in parquet::arrow::OpenFile (file=..., pool=0xea6cf0 
<arrow::jemalloc_pool>, reader=0x7fffb31f0e08)
    at /src/apache-arrow-1.0.1/cpp/src/parquet/arrow/reader.cc:957
```

As a caller, I expect `use_threads=False` to prevent the creation of threads. 
(Maybe there should be an exception if `pre_buffer && !use_threads`?)



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

Reply via email to