[12/50] [abbrv] hbase git commit: HBASE-16801 The Append/Increment may return the data from future (ChiaPing Tsai)
HBASE-16801 The Append/Increment may return the data from future (ChiaPing Tsai) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/38308906 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/38308906 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/38308906 Branch: refs/heads/branch-1 Commit: 3830890635261c9eccd7ceeff8ad1b95e3714cd6 Parents: bf03827 Author: tedyuAuthored: Wed Oct 12 10:07:37 2016 -0700 Committer: tedyu Committed: Wed Oct 12 10:07:37 2016 -0700 -- .../hbase/regionserver/ServerNonceManager.java | 2 +- .../regionserver/TestServerNonceManager.java| 21 2 files changed, 22 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/38308906/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java index bd9dad9..1e1a9a9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java @@ -62,7 +62,7 @@ public class ServerNonceManager { private static final long WAITING_BIT = 4; private static final long ALL_FLAG_BITS = WAITING_BIT | STATE_BITS; -private long mvcc; +private volatile long mvcc; @Override public String toString() { http://git-wip-us.apache.org/repos/asf/hbase/blob/38308906/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java index 940f715..6bf1721 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java @@ -45,6 +45,27 @@ import org.mockito.stubbing.Answer; public class TestServerNonceManager { @Test + public void testMvcc() throws Exception { +ServerNonceManager nm = createManager(); +final long group = 100; +final long nonce = 1; +final long initMvcc = 999; +assertTrue(nm.startOperation(group, nonce, createStoppable())); +nm.addMvccToOperationContext(group, nonce, initMvcc); +nm.endOperation(group, nonce, true); +assertEquals(initMvcc, nm.getMvccFromOperationContext(group, nonce)); +long newMvcc = initMvcc + 1; +for (long newNonce = nonce + 1; newNonce != (nonce + 5); ++newNonce) { + assertTrue(nm.startOperation(group, newNonce, createStoppable())); + nm.addMvccToOperationContext(group, newNonce, newMvcc); + nm.endOperation(group, newNonce, true); + assertEquals(newMvcc, nm.getMvccFromOperationContext(group, newNonce)); + ++newMvcc; +} +assertEquals(initMvcc, nm.getMvccFromOperationContext(group, nonce)); + } + + @Test public void testNormalStartEnd() throws Exception { final long[] numbers = new long[] { NO_NONCE, 1, 2, Long.MAX_VALUE, Long.MIN_VALUE }; ServerNonceManager nm = createManager();
hbase git commit: HBASE-16801 The Append/Increment may return the data from future (ChiaPing Tsai)
Repository: hbase Updated Branches: refs/heads/branch-1 bf0382719 -> 383089063 HBASE-16801 The Append/Increment may return the data from future (ChiaPing Tsai) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/38308906 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/38308906 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/38308906 Branch: refs/heads/branch-1 Commit: 3830890635261c9eccd7ceeff8ad1b95e3714cd6 Parents: bf03827 Author: tedyuAuthored: Wed Oct 12 10:07:37 2016 -0700 Committer: tedyu Committed: Wed Oct 12 10:07:37 2016 -0700 -- .../hbase/regionserver/ServerNonceManager.java | 2 +- .../regionserver/TestServerNonceManager.java| 21 2 files changed, 22 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/38308906/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java index bd9dad9..1e1a9a9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java @@ -62,7 +62,7 @@ public class ServerNonceManager { private static final long WAITING_BIT = 4; private static final long ALL_FLAG_BITS = WAITING_BIT | STATE_BITS; -private long mvcc; +private volatile long mvcc; @Override public String toString() { http://git-wip-us.apache.org/repos/asf/hbase/blob/38308906/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java index 940f715..6bf1721 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java @@ -45,6 +45,27 @@ import org.mockito.stubbing.Answer; public class TestServerNonceManager { @Test + public void testMvcc() throws Exception { +ServerNonceManager nm = createManager(); +final long group = 100; +final long nonce = 1; +final long initMvcc = 999; +assertTrue(nm.startOperation(group, nonce, createStoppable())); +nm.addMvccToOperationContext(group, nonce, initMvcc); +nm.endOperation(group, nonce, true); +assertEquals(initMvcc, nm.getMvccFromOperationContext(group, nonce)); +long newMvcc = initMvcc + 1; +for (long newNonce = nonce + 1; newNonce != (nonce + 5); ++newNonce) { + assertTrue(nm.startOperation(group, newNonce, createStoppable())); + nm.addMvccToOperationContext(group, newNonce, newMvcc); + nm.endOperation(group, newNonce, true); + assertEquals(newMvcc, nm.getMvccFromOperationContext(group, newNonce)); + ++newMvcc; +} +assertEquals(initMvcc, nm.getMvccFromOperationContext(group, nonce)); + } + + @Test public void testNormalStartEnd() throws Exception { final long[] numbers = new long[] { NO_NONCE, 1, 2, Long.MAX_VALUE, Long.MIN_VALUE }; ServerNonceManager nm = createManager();
hbase git commit: HBASE-16801 The Append/Increment may return the data from future (Chiaping Tsai)
Repository: hbase Updated Branches: refs/heads/master 7493e79f1 -> 0f21c41ed HBASE-16801 The Append/Increment may return the data from future (Chiaping Tsai) Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/0f21c41e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0f21c41e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0f21c41e Branch: refs/heads/master Commit: 0f21c41eda828eae42dd9bab102988c252b1088a Parents: 7493e79 Author: tedyuAuthored: Mon Oct 10 18:31:31 2016 -0700 Committer: tedyu Committed: Mon Oct 10 18:31:31 2016 -0700 -- .../hbase/regionserver/ServerNonceManager.java | 2 +- .../regionserver/TestServerNonceManager.java| 21 2 files changed, 22 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/hbase/blob/0f21c41e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java -- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java index 459b69a..47842fd 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ServerNonceManager.java @@ -62,7 +62,7 @@ public class ServerNonceManager { private static final long WAITING_BIT = 4; private static final long ALL_FLAG_BITS = WAITING_BIT | STATE_BITS; -private static long mvcc; +private long mvcc; @Override public String toString() { http://git-wip-us.apache.org/repos/asf/hbase/blob/0f21c41e/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java -- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java index 5efc12c..89e414d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestServerNonceManager.java @@ -46,6 +46,27 @@ import org.mockito.stubbing.Answer; public class TestServerNonceManager { @Test + public void testMvcc() throws Exception { +ServerNonceManager nm = createManager(); +final long group = 100; +final long nonce = 1; +final long initMvcc = 999; +assertTrue(nm.startOperation(group, nonce, createStoppable())); +nm.addMvccToOperationContext(group, nonce, initMvcc); +nm.endOperation(group, nonce, true); +assertEquals(initMvcc, nm.getMvccFromOperationContext(group, nonce)); +long newMvcc = initMvcc + 1; +for (long newNonce = nonce + 1; newNonce != (nonce + 5); ++newNonce) { + assertTrue(nm.startOperation(group, newNonce, createStoppable())); + nm.addMvccToOperationContext(group, newNonce, newMvcc); + nm.endOperation(group, newNonce, true); + assertEquals(newMvcc, nm.getMvccFromOperationContext(group, newNonce)); + ++newMvcc; +} +assertEquals(initMvcc, nm.getMvccFromOperationContext(group, nonce)); + } + + @Test public void testNormalStartEnd() throws Exception { final long[] numbers = new long[] { NO_NONCE, 1, 2, Long.MAX_VALUE, Long.MIN_VALUE }; ServerNonceManager nm = createManager();