Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.0.1
-
None
-
None
Description
CellComparatorImpl#compare(final Cell a, final Cell b, boolean ignoreSequenceid) needs to ignore sequence id in comparison if ignoreSequenceId parameter is set to true but BBKVComparator.compare used internally for the cell of type ByteBufferKeyValue doesn't consider this.
@Override public int compare(final Cell a, final Cell b, boolean ignoreSequenceid) { int diff = 0; // "Peel off" the most common path. if (a instanceof ByteBufferKeyValue && b instanceof ByteBufferKeyValue) { diff = BBKVComparator.compare((ByteBufferKeyValue)a, (ByteBufferKeyValue)b); if (diff != 0) { return diff; } } else { diff = compareRows(a, b); if (diff != 0) { return diff; } diff = compareWithoutRow(a, b); if (diff != 0) { return diff; } } // Negate following comparisons so later edits show up first mvccVersion: later sorts first return ignoreSequenceid? diff: Long.compare(b.getSequenceId(), a.getSequenceId()); }
Attachments
Attachments
Issue Links
- is caused by
-
HBASE-20564 Tighter ByteBufferKeyValue Cell Comparator
- Resolved