Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-3399 BookKeeper option support for NN HA
  3. HDFS-4445

All BKJM ledgers are not checked while tailing, So failover will fail.

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.0.3-alpha
    • 2.0.3-alpha
    • None
    • None

    Description

      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(..)

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

      The else block should have continue statement instead of return.

      Attachments

        1. HDFS-4445.patch
          5 kB
          Vinayakumar B

        Issue Links

          Activity

            People

              vinayakumarb Vinayakumar B
              vinayakumarb Vinayakumar B
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: