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

hyoungjunkim commented on TAJO-630:
-----------------------------------

When the failure occurred, the following logged in the QueryMaster.
{code}
2014-02-23 22:25:55,617 ERROR querymaster.QueryUnitAttempt 
(QueryUnitAttempt.java:handle(425)) - Can't handle this event at current state 
of ta_1393161894205_0001_000004_000101_00)
org.apache.hadoop.yarn.state.InvalidStateTransitonException: Invalid event: 
TA_UPDATE at TA_ASSIGNED
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:388)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
        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.tajo.master.querymaster.QueryUnitAttempt.handle(QueryUnitAttempt.java:423)
        at 
org.apache.tajo.master.querymaster.QueryMasterTask$TaskAttemptEventDispatcher.handle(QueryMasterTask.java:241)
        at 
org.apache.tajo.master.querymaster.QueryMasterTask$TaskAttemptEventDispatcher.handle(QueryMasterTask.java:233)
        at 
org.apache.tajo.master.TajoAsyncDispatcher.dispatch(TajoAsyncDispatcher.java:137)
        at 
org.apache.tajo.master.TajoAsyncDispatcher$1.run(TajoAsyncDispatcher.java:79)
{code}

> QueryMasterTask never finished when Internal error occurs.
> ----------------------------------------------------------
>
>                 Key: TAJO-630
>                 URL: https://issues.apache.org/jira/browse/TAJO-630
>             Project: Tajo
>          Issue Type: Bug
>            Reporter: hyoungjunkim
>
> Query state is changed to QUERY_ERROR when QueryEventType.INTERNAL_ERROR 
> occurs, and QueryFinishEventHandler invoked. 
> However, there is no check logic for QUERY_ERROR. So stopQuery() never 
> called. 
> QueryMasterTask.java
> {code}
>   private class QueryFinishEventHandler implements 
> EventHandler<QueryMasterQueryCompletedEvent> {
>     @Override
>     public void handle(QueryMasterQueryCompletedEvent event) {
>       QueryId queryId = event.getQueryId();
>       LOG.info("Query completion notified from " + queryId);
>       while (!isTerminatedState(query.getState())) {
>         try {
>           synchronized (this) {
>             wait(10);
>           }
>         } catch (InterruptedException e) {
>           LOG.error(e);
>         }
>       }
>       LOG.info("Query final state: " + query.getState());
>       queryMasterContext.stopQuery(queryId);
>     }
>     private boolean isTerminatedState(QueryState state) {
>       return
>           state == QueryState.QUERY_SUCCEEDED ||
>           state == QueryState.QUERY_FAILED ||
>           state == QueryState.QUERY_KILLED;
>     }
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to