Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
Currently, scan operations that supply use_threads=false will use 1 CPU thread, the calling thread, and some # of I/O threads. We should remove that CPU thread from being used.
It is being used at the moment because we need something to transfer work onto when asynchronous I/O tasks complete. We can fix this by allowing a serial executor to run an async generator (creating an iterator). This will also allow us to change the execution plan so that it always expects an executor to be present which should simplify the logic.
Attachments
Issue Links
- blocks
-
ARROW-16179 [C++] Migrate existing usage of ThreadIndexer to ThreadLocalState and get rid of ThreadIndexer
- Open
- is related to
-
ARROW-17590 Lower memory usage with filters
- Closed
- links to