You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "Oleg Zhurakousky (JIRA)" <ji...@apache.org> on 2014/06/09 23:37:02 UTC

[jira] [Comment Edited] (TEZ-1192) RejectedExecutionException during TezChild invocation

    [ https://issues.apache.org/jira/browse/TEZ-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14025781#comment-14025781 ] 

Oleg Zhurakousky edited comment on TEZ-1192 at 6/9/14 9:35 PM:
---------------------------------------------------------------

Hmm, not sure why its needed, but I do see them in quite a few places in the run() method. May be restructuring the code a bit to eliminate the need for explicit returns all together?


was (Author: ozhurakousky):
Hmm, not sure why its needed, but I see them in quite a few places in teh run() method. May be restructuring the code a bit to eliminate the need for explicit returns all together?

> RejectedExecutionException during TezChild invocation
> -----------------------------------------------------
>
>                 Key: TEZ-1192
>                 URL: https://issues.apache.org/jira/browse/TEZ-1192
>             Project: Apache Tez
>          Issue Type: Bug
>    Affects Versions: 0.4.0
>            Reporter: Oleg Zhurakousky
>            Assignee: Oleg Zhurakousky
>         Attachments: TEZ-1192.patch
>
>
> Execution of TezChild often ends with RejectedExecutionException (see below)
> {code}
> java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at com.hortonworks.tez.minicluster.InJvmContainerExecutor.doLaunch(InJvmContainerExecutor.java:178)
> 	at com.hortonworks.tez.minicluster.InJvmContainerExecutor.launchContainer(InJvmContainerExecutor.java:82)
> 	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:300)
> 	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:81)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.concurrent.RejectedExecutionException: Task com.google.common.util.concurrent.ListenableFutureTask@20c5f562 rejected from java.util.concurrent.ThreadPoolExecutor@247105bd[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 3]
> 	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
> 	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
> 	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
> 	at com.google.common.util.concurrent.MoreExecutors$ListeningDecorator.execute(MoreExecutors.java:440)
> 	at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:56)
> 	at org.apache.tez.runtime.task.TezChild.run(TezChild.java:177)
> 	at org.apache.tez.runtime.task.TezChild.main(TezChild.java:359)
> 	... 12 more
> {code}
> This results in exit code 143 from the child process which seems to be OK and the overall Tez job completes successfully. That said, I think managing the lifecycle of the process through random exception is not appropriate especially when problem is easy to avoid.
> I'll provide a patch shortly



--
This message was sent by Atlassian JIRA
(v6.2#6252)