[
https://issues.apache.org/jira/browse/TEZ-4213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Panagiotis Garefalakis updated TEZ-4213:
----------------------------------------
Description:
After TEZ-4170 was merged, appContext executor pool is also used by the
RootInputInitializerManager to speed up SplitGeneration.
However, this executor pool currently has not capacity limit
https://github.com/apache/tez/blob/master/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java#L624
The problem the occurs when generating splits for larger inputs (thousands or
more) is that it can could result to
{color:red}java.lang.OutOfMemoryError: unable to create new native thread{color}
that is also reproducible with a test case.
To avoid such errors, I propose to limit the capacity of this pool to a
configurable value that can be for example the number of physical cores by
default.
was:
After TEZ-4170 was merged, appContext executor pool is also used by the
RootInputInitializerManager to speed up SplitGeneration.
However, this executor pool currently has not capacity limit
https://github.com/apache/tez/blob/master/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java#L624
When generating splits for larger inputs (thousands or more) this could result
in
{color:red}java.lang.OutOfMemoryError: unable to create new native thread{color}
(reproducible with a test case)
I propose to limit the capacity of this pool to a configurable value that can
be for example the number of physical cores by default.
> Bound appContext executor capacity using a configurable property
> ----------------------------------------------------------------
>
> Key: TEZ-4213
> URL: https://issues.apache.org/jira/browse/TEZ-4213
> Project: Apache Tez
> Issue Type: Bug
> Reporter: Panagiotis Garefalakis
> Assignee: Panagiotis Garefalakis
> Priority: Major
>
> After TEZ-4170 was merged, appContext executor pool is also used by the
> RootInputInitializerManager to speed up SplitGeneration.
> However, this executor pool currently has not capacity limit
> https://github.com/apache/tez/blob/master/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java#L624
> The problem the occurs when generating splits for larger inputs (thousands or
> more) is that it can could result to
> {color:red}java.lang.OutOfMemoryError: unable to create new native
> thread{color}
> that is also reproducible with a test case.
> To avoid such errors, I propose to limit the capacity of this pool to a
> configurable value that can be for example the number of physical cores by
> default.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)