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

Bikas Saha commented on TEZ-1592:
---------------------------------

initWaitsForRootInitializers was missing by design. It was added to unify the 
code paths initing via parallelism being set - one case of which is via root 
input initialization. So when split generation results in parallelism update 
then that causes the vertex to go out of initializing state. 

However there is the special case for initializing where everything is defined 
for the vertex to init but we are waiting for split distribution by updating 
the payload (which could have actually used events instead and avoided this). 
For that case the wait flag was added so that rootinputinitilizedtransition 
could also trigger getting out of initiailzing to initied state.

So what is happening here? Are splits being generated on the AM. Then the root 
input initializers should have finished and the custom vertex manager would 
have consoldated their results to set the parallelism. That would move the 
vertex out of running state. So root inputinitiailzed event could not have come 
after vertex moved into initied state.

> Vertex should wait for all initializers to finish before moving to INITED 
> state
> -------------------------------------------------------------------------------
>
>                 Key: TEZ-1592
>                 URL: https://issues.apache.org/jira/browse/TEZ-1592
>             Project: Apache Tez
>          Issue Type: Bug
>            Reporter: Siddharth Seth
>            Assignee: Siddharth Seth
>            Priority: Critical
>         Attachments: TEZ-1592.1.txt
>
>
> Reported by [~vikram.dixit]
> When using multiple initializers, the following stack trace is seen at times.
> {code}
> 2014-09-17 15:05:00,406 ERROR [AsyncDispatcher event handler] 
> org.apache.tez.dag.app.dag.impl.VertexImpl: Can't handle Invalid event 
> V_ROOT_INPUT_INITIALIZED on vertex Map 2 with vertexId 
> vertex_1410991351910_0002_8_01 at current state RUNNING
> org.apache.hadoop.yarn.state.InvalidStateTransitonException: Invalid event: 
> V_ROOT_INPUT_INITIALIZED at RUNNING
>   at 
> org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:305)
>   at 
> org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
>   at 
> org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
>   at org.apache.tez.dag.app.dag.impl.VertexImpl.handle(VertexImpl.java:1337)
>   at org.apache.tez.dag.app.dag.impl.VertexImpl.handle(VertexImpl.java:168)
>   at 
> org.apache.tez.dag.app.DAGAppMaster$VertexEventDispatcher.handle(DAGAppMaster.java:1641)
>   at 
> org.apache.tez.dag.app.DAGAppMaster$VertexEventDispatcher.handle(DAGAppMaster.java:1627)
>   at 
> org.apache.hadoop.yarn.event.AsyncDispatcher.dispatch(AsyncDispatcher.java:173)
>   at 
> org.apache.hadoop.yarn.event.AsyncDispatcher$1.run(AsyncDispatcher.java:106)
>   at java.lang.Thread.run(Thread.java:662)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to