Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-16931

Setting cell's seqId to zero in compaction flow might cause RS down.

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.3.0, 1.4.0, 1.2.3, 1.1.7, 2.0.0
    • Fix Version/s: 1.3.0, 1.2.4, 1.1.8, 2.0.0
    • Component/s: regionserver
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Compactor#performCompaction
      do {
      hasMore = scanner.next(cells, scannerContext);
      // output to writer:
      for (Cell c : cells) {
      if (cleanSeqId && c.getSequenceId() <= smallestReadPoint)

      { CellUtil.setSequenceId(c, 0); }

      writer.append(c);
      }
      cells.clear();
      } while (hasMore);
      scanner.next will choose at most "hbase.hstore.compaction.kv.max" kvs, the last cell still reference by StoreScanner.prevCell, so if cleanSeqId is called when the scanner.next call StoreScanner.checkScanOrder may throw exception and cause regionserver down.

        Attachments

        1. HBASE-16931.branch-1.v2.patch
          8 kB
          Lijin Bin
        2. HBASE-16931_master_v5.patch
          8 kB
          Lijin Bin
        3. HBASE-16931_master_v4.patch
          9 kB
          Lijin Bin
        4. HBASE-16931_master_v3.patch
          9 kB
          Lijin Bin
        5. HBASE-16931.branch-1.patch
          8 kB
          Lijin Bin
        6. HBASE-16931_master_v2.patch
          8 kB
          Lijin Bin
        7. HBASE-16931-master.patch
          7 kB
          Lijin Bin

          Activity

            People

            • Assignee:
              binlijin Lijin Bin
              Reporter:
              binlijin Lijin Bin

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment