[ 
https://issues.apache.org/jira/browse/HBASE-16931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

binlijin updated HBASE-16931:
-----------------------------
    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 when the scanner.next call 
StoreScanner.checkScanOrder may throw exception and cause regionserver down.

> Cleaned seqid in compaction should set back when write finish.
> --------------------------------------------------------------
>
>                 Key: HBASE-16931
>                 URL: https://issues.apache.org/jira/browse/HBASE-16931
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 2.0.0
>            Reporter: binlijin
>            Assignee: binlijin
>
> 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 when the scanner.next 
> call StoreScanner.checkScanOrder may throw exception and cause regionserver 
> down.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to