private void executeCloseRegionProcedures(CloseRegionRequest request) {
    String encodedName;
    long initiatingMasterActiveTime =
      request.hasInitiatingMasterActiveTime() ? request.getInitiatingMasterActiveTime() : -1;
    try {
      encodedName = ProtobufUtil.getRegionEncodedName(request.getRegion());
    } catch (DoNotRetryIOException e) {
      throw new UncheckedIOException("Should not happen", e);
    }
    ServerName destination = request.hasDestinationServer()
      ? ProtobufUtil.toServerName(request.getDestinationServer())
      : null;
    long procId = request.getCloseProcId();
    boolean evictCache = request.getEvictCache();
    if (server.submitRegionProcedure(procId)) {
      server.getExecutorService().submit(UnassignRegionHandler.create(server, encodedName, procId,
        false, destination, evictCache, initiatingMasterActiveTime));
    }
  }
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