[
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)