in hbase-common/src/main/java/org/apache/omid/transaction/CellUtils.java [396:443]
public boolean equals(Object o) {
if (o == this)
return true;
if (!(o instanceof CellId))
return false;
CellId otherCellId = (CellId) o;
Cell otherCell = otherCellId.getCell();
// Row comparison
if (!CellUtil.matchingRows(otherCell, cell)) {
return false;
}
// Family comparison
if (!CellUtil.matchingFamily(otherCell, cell)) {
return false;
}
// Qualifier comparison
int qualifierLength = cell.getQualifierLength();
int qualifierOffset = cell.getQualifierOffset();
int otherQualifierLength = otherCell.getQualifierLength();
int otherQualifierOffset = otherCell.getQualifierOffset();
if (isShadowCell()) {
qualifierLength = qualifierLengthFromShadowCellQualifier(cell.getQualifierArray(),
cell.getQualifierOffset(),
cell.getQualifierLength());
qualifierOffset = qualifierOffsetFromShadowCellQualifier(cell.getQualifierArray(), cell.getQualifierOffset(),
cell.getQualifierLength());
}
if (otherCellId.isShadowCell()) {
otherQualifierLength = qualifierLengthFromShadowCellQualifier(otherCell.getQualifierArray(),
otherCell.getQualifierOffset(),
otherCell.getQualifierLength());
otherQualifierOffset = qualifierOffsetFromShadowCellQualifier(otherCell.getQualifierArray(), otherCell.getQualifierOffset(),
otherCell.getQualifierLength());
}
if (!Bytes.equals(cell.getQualifierArray(), qualifierOffset, qualifierLength,
otherCell.getQualifierArray(), otherQualifierOffset, otherQualifierLength)) {
return false;
}
// Timestamp comparison
return otherCell.getTimestamp() == cell.getTimestamp();
}