HBASE-9899 for idempotent operation dups, return the result instead of throwing 
conflict exception (Guanghao Zhang): ADDENDUM


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/46defe8e
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/46defe8e
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/46defe8e

Branch: refs/heads/hbase-12439
Commit: 46defe8e31278f91b5b92c24744b1839da564f27
Parents: 5cadcd5
Author: stack <st...@apache.org>
Authored: Tue Aug 9 07:09:44 2016 -0700
Committer: stack <st...@apache.org>
Committed: Tue Aug 9 07:09:44 2016 -0700

----------------------------------------------------------------------
 .../apache/hadoop/hbase/regionserver/RSRpcServices.java   | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/46defe8e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index d87ada4..681b1dc 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -620,12 +620,13 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
       boolean canProceed = startNonceOperation(mutation, nonceGroup);
       boolean success = false;
       try {
+        long nonce = mutation.hasNonce() ? mutation.getNonce() : 
HConstants.NO_NONCE;
         if (canProceed) {
-          r = region.append(append, nonceGroup, mutation.getNonce());
+          r = region.append(append, nonceGroup, nonce);
         } else {
           // convert duplicate append to get
           List<Cell> results = region.get(ProtobufUtil.toGet(mutation, 
cellScanner), false,
-            nonceGroup, mutation.getNonce());
+            nonceGroup, nonce);
           r = Result.create(results);
         }
         success = true;
@@ -667,12 +668,13 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
       boolean canProceed = startNonceOperation(mutation, nonceGroup);
       boolean success = false;
       try {
+        long nonce = mutation.hasNonce() ? mutation.getNonce() : 
HConstants.NO_NONCE;
         if (canProceed) {
-          r = region.increment(increment, nonceGroup, mutation.getNonce());
+          r = region.increment(increment, nonceGroup, nonce);
         } else {
           // convert duplicate increment to get
           List<Cell> results = region.get(ProtobufUtil.toGet(mutation, cells), 
false, nonceGroup,
-            mutation.getNonce());
+            nonce);
           r = Result.create(results);
         }
         success = true;

Reply via email to