You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Vinay (JIRA)" <ji...@apache.org> on 2013/01/26 08:53:12 UTC

[jira] [Created] (HDFS-4445) All BKJM ledgers are not checked while tailing, So failover will fail.

Vinay created HDFS-4445:
---------------------------

             Summary: All BKJM ledgers are not checked while tailing, So failover will fail.
                 Key: HDFS-4445
                 URL: https://issues.apache.org/jira/browse/HDFS-4445
             Project: Hadoop HDFS
          Issue Type: Bug
    Affects Versions: 2.0.3-alpha
            Reporter: Vinay
            Assignee: Vinay
            Priority: Blocker


After the fix of HDFS-4130, all editlog nodes are not iterated if first edit are below fromTxId

Problem part is below code inside BookKeeperJournalManager#selectInputStreams(..)

{code}        if (fromTxId >= l.getFirstTxId() && fromTxId <= lastTxId) {
          LedgerHandle h;
          if (l.isInProgress()) { // we don't want to fence the current journal
            h = bkc.openLedgerNoRecovery(l.getLedgerId(), digestType,
                digestpw.getBytes());
          } else {
            h = bkc
                .openLedger(l.getLedgerId(), digestType, digestpw.getBytes());
          }
          elis = new BookKeeperEditLogInputStream(h, l);
          elis.skipTo(fromTxId);
        } else {
          return;
        }{code}

The else block should have continue statement instead of return.

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