-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18514/
-----------------------------------------------------------

Review request for Tajo.


Bugs: TAJO-630
    https://issues.apache.org/jira/browse/TAJO-630


Repository: tajo


Description
-------

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}


Diffs
-----

  
tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/querymaster/QueryMasterTask.java
 67feaf007a110ff7166966114010b40387def0bd 

Diff: https://reviews.apache.org/r/18514/diff/


Testing
-------


Thanks,

Hyunsik Choi

Reply via email to