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

    • 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
            • Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: