hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "binlijin (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-16931) Cleaned seqid in compaction should set back when write finish.
Date Mon, 24 Oct 2016 04:21:58 GMT

     [ 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 if cleanSeqId is called when the scanner.next call
StoreScanner.checkScanOrder may throw exception and cause regionserver down.

  was:
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 if cleanSeqId is called 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)

Mime
View raw message