[
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)