private void executeProcedures(RemoteProcedureRequest request) {
    RSProcedureCallable callable;
    try {
      callable = Class.forName(request.getProcClass()).asSubclass(RSProcedureCallable.class)
        .getDeclaredConstructor().newInstance();
    } catch (Exception e) {
      LOG.warn("Failed to instantiating remote procedure {}, pid={}", request.getProcClass(),
        request.getProcId(), e);
      server.remoteProcedureComplete(request.getProcId(), request.getInitiatingMasterActiveTime(),
        e);
      return;
    }
    callable.init(request.getProcData().toByteArray(), server);
    LOG.debug("Executing remote procedure {}, pid={}", callable.getClass(), request.getProcId());
    server.executeProcedure(request.getProcId(), request.getInitiatingMasterActiveTime(), callable);
  }
Scan data in a table.
@param controller the RPC controller
@param request    the scan request
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java