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

stack commented on HBASE-6878:
------------------------------

taskFinisher will not return Status.DONE under what circumstances?  If we get 
an IOE splitting the log it seems.  And that could happen within the timeout... 
and task won't be resubmitted if we pass in CHECK?  I don't know this code 
well.  Jimmy?  You have an opinion.  Let me trying pinging Prakash.

                
> DistributerLogSplit can fail to resubmit a task done if there is an exception 
> during the log archiving
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-6878
>                 URL: https://issues.apache.org/jira/browse/HBASE-6878
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>            Reporter: nkeywal
>            Priority: Minor
>
> The code in SplitLogManager# getDataSetWatchSuccess is:
> {code}
> if (slt.isDone()) {
>       LOG.info("task " + path + " entered state: " + slt.toString());
>       if (taskFinisher != null && !ZKSplitLog.isRescanNode(watcher, path)) {
>         if (taskFinisher.finish(slt.getServerName(), 
> ZKSplitLog.getFileName(path)) == Status.DONE) {
>           setDone(path, SUCCESS);
>         } else {
>           resubmitOrFail(path, CHECK);
>         }
>       } else {
>         setDone(path, SUCCESS);
>       }
> {code}
>           resubmitOrFail(path, CHECK);
> should be 
>           resubmitOrFail(path, FORCE);
> Without it, the task won't be resubmitted if the delay is not reached, and 
> the task will be marked as failed.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to