Class RpcRetryingCallerWithReadReplicas.ReplicaRegionServerCallable

java.lang.Object
org.apache.hadoop.hbase.client.RegionServerCallable<T,org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface>
org.apache.hadoop.hbase.client.ClientServiceCallable<T>
org.apache.hadoop.hbase.client.CancellableRegionServerCallable<Result>
org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.ReplicaRegionServerCallable
All Implemented Interfaces:
Cancellable, RetryingCallable<Result>
Enclosing class:
RpcRetryingCallerWithReadReplicas

A RegionServerCallable that takes into account the replicas, i.e. - the call can be on any replica - we need to stop retrying when the call is completed - we can be interrupted
  • Field Details

    • id

      final int id
  • Constructor Details

  • Method Details

    • prepare

      public void prepare(boolean reload) throws IOException
      Two responsibilities - if the call is already completed (by another replica) stops the retries. - set the location to the right region, depending on the replica.
      Specified by:
      prepare in interface RetryingCallable<Result>
      Overrides:
      prepare in class CancellableRegionServerCallable<Result>
      Parameters:
      reload - Set this to true if need to requery locations
      Throws:
      IOException - e
    • rpcCall

      protected Result rpcCall() throws Exception
      Description copied from class: RegionServerCallable
      Run the RPC call. Implement this method. To get at the rpcController that has been created and configured to make this rpc call, use getRpcController(). We are trying to contain rpcController references so we don't pollute codebase with protobuf references; keep the protobuf references contained and only present in a few classes rather than all about the code base.
      Specified by:
      rpcCall in class RegionServerCallable<Result,org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface>
      Throws:
      Exception