zeroflag commented on a change in pull request #75:
URL: https://github.com/apache/tez/pull/75#discussion_r464869904
##########
File path: tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java
##########
@@ -621,7 +621,7 @@ public synchronized void serviceInit(final Configuration
conf) throws Exception
}
}
-
Executors.newFixedThreadPool(conf.getInt(TezConfiguration.TEZ_AM_DAG_APPCONTEXT_THREAD_COUNT_LIMIT,
+ rawExecutor =
Executors.newFixedThreadPool(conf.getInt(TezConfiguration.TEZ_AM_DAG_APPCONTEXT_THREAD_COUNT_LIMIT,
Review comment:
The newFixedThreadPool() still returns an executor with an unbounded
queue (actually it's bounded but the max capacity of the LinkedBlockingQueue
is Integer.MAX_VALUE so practically it's unbounded).
It won't spin up more threads than specified (100) but if all threads are
working then it'll start queueing up tasks in a queue which will practically
never be full. Doesn't this still cause OOM?
What would be the desired behaviour when the queue is full? Rejection?
Exception or blocking?
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]