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

Hyunsik Choi edited comment on TAJO-1111 at 10/10/14 5:15 PM:
--------------------------------------------------------------

As my investigation on the state machines, I found the two missed cases:

{{KILLED}} state cannot be transited to {{T_KILL}}, {{T_ATTEMPT_KILLED}}, or 
{{T_ATTEMPT_SUCCEEDED}}. The states may receive multiple times form workers 
because workers has some state reporter will periodically send the current task 
state. They are possible cases in concurrent and distributed cases.

I think that they should also handle {{T_ATTEMPT_FAILED}} in the same way. In 
sum, {{SUCCEEDED}}, {{FAILED}}, {{KILLED}} should handle {{T_KILL}}, 
{{T_ATTEMPT_KILLED}}, {{T_ATTEMPT_SUCCEEDED}}, or {{T_ATTEMPT_FAILED}} as 
ignorable state transitions.

In addition, It's possible if {{QUERY_ERROR}} state in Query  can take 
{{SUBQUERY_COMPLETED}} because {{KILLED}} and {{FAILED}} also send 
{{SUBQUERY_COMPLETED}} event to Query. In this case, we have to ignore because 
Query state is already in {{QUERY_ERROR}}.

I'll submit the patch soon.




was (Author: hyunsik):
As my investigation on the state machines, I found the two missed cases:

KILLED state cannot be transited to T_KILL, T_ATTEMPT_KILLED, or 
T_ATTEMPT_SUCCEEDED. The states may receive multiple times form workers because 
workers has some state reporter will periodically send the current task state. 
They are possible cases in concurrent and distributed cases.

I think that they should also handle T_ATTEMPT_FAILED in the same way. In sum, 
SUCCEEDED, FAILED, KILLED should handle T_KILL, T_ATTEMPT_KILLED, 
T_ATTEMPT_SUCCEEDED, or T_ATTEMPT_FAILED as ignorable state transitions.

In addition, It's possible if QUERY_ERROR state in Query  can take 
SUBQUERY_COMPLETED because KILLED and FAILED also send SUBQUERY_COMPLETED event 
to Query. In this case, we have to ignore because Query state is already in 
QUERY_ERROR.

I'll submit the patch soon.



> TestKillQuery.testKillQueryFromInitState occasionally fails
> -----------------------------------------------------------
>
>                 Key: TAJO-1111
>                 URL: https://issues.apache.org/jira/browse/TAJO-1111
>             Project: Tajo
>          Issue Type: Bug
>          Components: query master
>            Reporter: Hyunsik Choi
>            Priority: Blocker
>             Fix For: 0.9.0
>
>
> See the title. this test occasionally fails.
> {noformat}
> [INFO] Results :
> [INFO] 
> [INFO] Failed tests: 
> [INFO]   TestKillQuery.testKillQueryFromInitState:104 expected:<QUERY_KILLED> 
> but was:<QUERY_ERROR>
> [INFO] 
> [INFO] Tests run: 1234, Failures: 1, Errors: 0, Skipped: 0
> {noformat}



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

Reply via email to