[ 
https://issues.apache.org/jira/browse/HBASE-10355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13911030#comment-13911030
 ] 

stack commented on HBASE-10355:
-------------------------------

This has to be public?

-    private RegionLocations locateRegion(final TableName tableName,
+    @Override
+    public RegionLocations locateRegion(final TableName tableName,
       final byte [] row, boolean useCache, boolean retry)


RpcRetryingCallerWithFallBack doesn't seem right name for this class... should 
call out use of Replicas.  ...WithReadReplicas?

bq. +   * - we can be interrupted

It must have been fun finding all the ugly ways in which an interrupted call 
can fail (just had this experience over on DFSClient... gave up for now... its 
not 'interruptible' w/o a load of refactor).

Do something other than an IOE?  +        throw new IOException("There is no 
location for replica id #" + id);

Something that subclasses HBaseIOE?  (Think Benoit).

Can we avoid HRegion having to know about 'replicas'?

     List<Cell> results = get(get, true);
-    return Result.create(results, get.isCheckExistenceOnly() ? 
!results.isEmpty() : null);
+    boolean stale = 
!ServerRegionReplicaUtil.isDefaultReplica(this.getRegionInfo());
+    return Result.create(results, get.isCheckExistenceOnly() ? 
!results.isEmpty() : null, stale);

This is repeated code?  In HRegion and in HRegionServer.

-        ClientProtos.Result pbr = ProtobufUtil.toResult(existence);
+        boolean stale = 
!ServerRegionReplicaUtil.isDefaultReplica(region.getRegionInfo());
+        ClientProtos.Result pbr = ProtobufUtil.toResult(existence, stale);


Patch looks good enough to apply to branch.




> Failover RPC's from client using region replicas
> ------------------------------------------------
>
>                 Key: HBASE-10355
>                 URL: https://issues.apache.org/jira/browse/HBASE-10355
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Client
>            Reporter: Enis Soztutar
>            Assignee: Nicolas Liochon
>             Fix For: 0.99.0
>
>         Attachments: 10355.v1.patch, 10355.v2.patch, 10355.v3.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to