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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.3.0, 1.4.0, 1.2.3, 1.1.7, 2.0.0
    • 1.3.0, 1.2.4, 1.1.8, 2.0.0
    • regionserver
    • None
    • 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

            binlijin Lijin Bin
            binlijin Lijin Bin
            Votes:
            0 Vote for this issue
            Watchers:
            16 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: