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