From 2cfb5b44cab4415f3568452363b2e038e025ad66 Mon Sep 17 00:00:00 2001 From: Phil Yang Date: Thu, 17 Nov 2016 11:55:59 +0800 Subject: [PATCH] HBASE-17112 Prevent setting timestamp of delta operations being same as previous value's --- .../src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java | 4 ++-- .../test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index e600ae1..0babdc2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -6974,7 +6974,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi if (idx < results.size() && CellUtil.matchingQualifier(results.get(idx), cell)) { oldCell = results.get(idx); - long ts = Math.max(now, oldCell.getTimestamp()); + long ts = Math.max(now, oldCell.getTimestamp() + 1); // Process cell tags List tags = Tag.carryForwardTags(null, oldCell); @@ -7307,7 +7307,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi long ts = now; if (idx < currentValues.size() && CellUtil.matchingQualifier(currentValues.get(idx), inc)) { currentValue = currentValues.get(idx); - ts = Math.max(now, currentValue.getTimestamp()); + ts = Math.max(now, currentValue.getTimestamp() + 1); incrementAmount += getLongValue(currentValue); // Carry forward all tags tags = Tag.carryForwardTags(tags, currentValue); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java index ed26a6d..5608a96 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java @@ -6320,7 +6320,7 @@ public class TestHRegion { region.increment(inc); result = region.get(new Get(row)); c = result.getColumnLatestCell(fam1, qual1); - assertEquals(c.getTimestamp(), 10L); + assertEquals(c.getTimestamp(), 11L); assertEquals(Bytes.toLong(c.getValueArray(), c.getValueOffset(), c.getValueLength()), 2L); } @@ -6345,7 +6345,7 @@ public class TestHRegion { region.append(a); result = region.get(new Get(row)); c = result.getColumnLatestCell(fam1, qual1); - assertEquals(c.getTimestamp(), 10L); + assertEquals(c.getTimestamp(), 11L); byte[] expected = new byte[qual1.length*2]; System.arraycopy(qual1, 0, expected, 0, qual1.length); -- 2.9.3 (Apple Git-75)