[ https://issues.apache.org/jira/browse/HBASE-16931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15601331#comment-15601331 ]
Anoop Sam John commented on HBASE-16931: ---------------------------------------- I agree that avoid set and reset cell seqId is the best way. And clone is some thing not acceptable IMO. We should be able to tell write whether it need to use the seqId of the cell or zero. But that will be bigger change. So am fine with current way. Ya I was abt to ask. For one test do we need to spin a cluster. If possible avoid. But I like that u did a UT for this so that in future we wont have regression here. Seem V3 also dont have the change to reset the local variable to null. > Setting cell's seqId to zero in compaction flow might cause RS down. > -------------------------------------------------------------------- > > 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 > Priority: Critical > Attachments: HBASE-16931-master.patch, HBASE-16931.branch-1.patch, > HBASE-16931_master_v2.patch, HBASE-16931_master_v3.patch > > > 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)