Repository: hbase
Updated Branches:
  refs/heads/master e04009c98 -> e4138a3a9


HBASE-10354. Addendum commit. 10354.add.patch committed

git-svn-id: https://svn.apache.org/repos/asf/hbase/branches/hbase-10070@1568205 
13f79535-47bb-0310-9956-ffa450edef68


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

Branch: refs/heads/master
Commit: d6f603a4929d9309269fd9f88340caf41b5d5c81
Parents: 998cd16
Author: Devaraj Das <[email protected]>
Authored: Fri Feb 14 07:34:39 2014 +0000
Committer: Enis Soztutar <[email protected]>
Committed: Fri Jun 27 16:39:36 2014 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/protobuf/ProtobufUtil.java  | 12 ++++++++----
 .../org/apache/hadoop/hbase/regionserver/HRegion.java   |  3 ++-
 .../apache/hadoop/hbase/regionserver/HRegionServer.java |  2 +-
 .../apache/hadoop/hbase/regionserver/RSRpcServices.java |  3 ++-
 4 files changed, 13 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/d6f603a4/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
----------------------------------------------------------------------
diff --git 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
index 5ec2a3a..3b5e4f3 100644
--- 
a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
+++ 
b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
@@ -1232,7 +1232,7 @@ public final class ProtobufUtil {
    */
   public static ClientProtos.Result toResult(final Result result) {
     if (result.getExists() != null) {
-      return toResult(result.getExists());
+      return toResult(result.getExists(), result.isStale());
     }
 
     Cell[] cells = result.rawCells();
@@ -1256,8 +1256,12 @@ public final class ProtobufUtil {
    * @param existence the client existence to send
    * @return the converted protocol buffer Result
    */
-  public static ClientProtos.Result toResult(final boolean existence) {
-    return existence ? EMPTY_RESULT_PB_EXISTS_TRUE : 
EMPTY_RESULT_PB_EXISTS_FALSE;
+  public static ClientProtos.Result toResult(final boolean existence, boolean 
stale) {
+    if (stale){
+      return existence ? EMPTY_RESULT_PB_EXISTS_TRUE_STALE : 
EMPTY_RESULT_PB_EXISTS_FALSE_STALE;
+    } else {
+      return existence ? EMPTY_RESULT_PB_EXISTS_TRUE : 
EMPTY_RESULT_PB_EXISTS_FALSE;
+    }
   }
 
   /**
@@ -1268,7 +1272,7 @@ public final class ProtobufUtil {
    * @return the converted protocol buffer Result
    */
   public static ClientProtos.Result toResultNoData(final Result result) {
-    if (result.getExists() != null) return toResult(result.getExists());
+    if (result.getExists() != null) return toResult(result.getExists(), 
result.isStale());
     int size = result.size();
     if (size == 0) return result.isStale() ? EMPTY_RESULT_PB_STALE : 
EMPTY_RESULT_PB;
     ClientProtos.Result.Builder builder = ClientProtos.Result.newBuilder();

http://git-wip-us.apache.org/repos/asf/hbase/blob/d6f603a4/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
----------------------------------------------------------------------
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 aef95d8..b89d886 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
@@ -4725,7 +4725,8 @@ public class HRegion implements HeapSize { // , Writable{
       }
     }
     List<Cell> results = get(get, true);
-    return Result.create(results, get.isCheckExistenceOnly() ? 
!results.isEmpty() : null);
+    boolean stale = this.getRegionInfo().getReplicaId() != 0;
+    return Result.create(results, get.isCheckExistenceOnly() ? 
!results.isEmpty() : null, stale);
   }
 
   /*

http://git-wip-us.apache.org/repos/asf/hbase/blob/d6f603a4/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index 84f986b..d8f1696 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -2531,7 +2531,7 @@ public class HRegionServer extends HasThread implements
     return getRegionByEncodedName(regionName, encodedRegionName);
   }
 
-  protected HRegion getRegionByEncodedName(String encodedRegionName)
+  public HRegion getRegionByEncodedName(String encodedRegionName)
       throws NotServingRegionException {
     return getRegionByEncodedName(null, encodedRegionName);
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/d6f603a4/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 e94c506..599fd1c 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
@@ -1606,7 +1606,8 @@ public class RSRpcServices implements 
HBaseRPCErrorHandler,
         }
       }
       if (existence != null){
-        ClientProtos.Result pbr = ProtobufUtil.toResult(existence);
+        ClientProtos.Result pbr =
+            ProtobufUtil.toResult(existence, 
region.getRegionInfo().getReplicaId() != 0);
         builder.setResult(pbr);
       } else  if (r != null) {
         ClientProtos.Result pbr = ProtobufUtil.toResult(r);

Reply via email to