in hbase-client/src/main/java/org/apache/omid/transaction/TTable.java [187:220]
public Result get(Transaction tx, final Get get) throws IOException {
throwExceptionIfOpSetsTimerange(get);
flushCommits();
HBaseTransaction transaction = enforceHBaseTransactionAsParam(tx);
final long readTimestamp = transaction.getReadTimestamp();
final Get tsget = new Get(get.getRow()).setFilter(get.getFilter());
propagateAttributes(get, tsget);
TimeRange timeRange = get.getTimeRange();
long startTime = timeRange.getMin();
long endTime = Math.min(timeRange.getMax(), readTimestamp + 1);
tsget.setTimeRange(startTime, endTime).readVersions(1);
Map<byte[], NavigableSet<byte[]>> kvs = get.getFamilyMap();
for (Map.Entry<byte[], NavigableSet<byte[]>> entry : kvs.entrySet()) {
byte[] family = entry.getKey();
NavigableSet<byte[]> qualifiers = entry.getValue();
if (qualifiers == null || qualifiers.isEmpty()) {
tsget.addFamily(family);
} else {
for (byte[] qualifier : qualifiers) {
tsget.addColumn(family, qualifier);
tsget.addColumn(family, CellUtils.addShadowCellSuffixPrefix(qualifier));
}
tsget.addColumn(family, CellUtils.FAMILY_DELETE_QUALIFIER);
tsget.addColumn(family, CellUtils.addShadowCellSuffixPrefix(CellUtils.FAMILY_DELETE_QUALIFIER));
}
}
LOG.trace("Initial Get = {}", tsget);
return snapshotFilter.get(tsget, transaction);
}