rdblue commented on PR #7844:
URL: https://github.com/apache/iceberg/pull/7844#issuecomment-1861228366

   This class cannot use a blocking queue with the worker pool, so I'm -1 on 
this change.
   
   The problem is that planning uses a shared threadpool. Using a blocking 
queue would cause tasks to stall, which would then tie up the threads in the 
shared pool and cause all planning to halt.
   
   If you want to limit memory consumption here, then you need to do the 
following:
   1. Add a new `BlockingParallelIterable`
   2. Use a blocking queue in `BlockingParallelIterable`
   3. Use an isolated threadpool in `BlockingParallelIterable` that is not 
shared with other planning tasks
   
   Once that new variant is in, we can look at how to use it from the scan API. 
Feel free to contact me to review this, since this is a part of the code where 
bad changes can cause a lot of trouble!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to