[
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)