Github user poornachandra commented on a diff in the pull request:
https://github.com/apache/incubator-tephra/pull/61#discussion_r139523472
--- Diff:
tephra-hbase-compat-1.0/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionVisibilityFilter.java
---
@@ -89,13 +89,13 @@ public TransactionVisibilityFilter(Transaction tx,
Map<byte[], Long> ttlByFamily
* {@link Filter.ReturnCode#INCLUDE_AND_NEXT_COL} will
be returned instead.
*/
public TransactionVisibilityFilter(Transaction tx, Map<byte[], Long>
ttlByFamily, boolean allowEmptyValues,
- ScanType scanType, @Nullable Filter
cellFilter) {
+ ScanType scanType, @Nullable Filter
cellFilter) {
this.tx = tx;
this.oldestTsByFamily = Maps.newTreeMap();
for (Map.Entry<byte[], Long> ttlEntry : ttlByFamily.entrySet()) {
long familyTTL = ttlEntry.getValue();
oldestTsByFamily.put(new ImmutableBytesWritable(ttlEntry.getKey()),
- familyTTL <= 0 ? 0 :
tx.getVisibilityUpperBound() - familyTTL * TxConstants.MAX_TX_PER_MS);
+ familyTTL <= 0 ? 0 : tx.getTransactionId() -
familyTTL * TxConstants.MAX_TX_PER_MS);
--- End diff --
We can have -ve timestamps here too
---