hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nkeywal (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-6878) DistributerLogSplit can fail to resubmit a task done if there is an exception during the log archiving
Date Tue, 25 Sep 2012 14:02:07 GMT

     [ https://issues.apache.org/jira/browse/HBASE-6878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

nkeywal updated HBASE-6878:
---------------------------

    Description: 
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.


    
> 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

Mime
View raw message