Java 类org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse 实例源码

项目:ditb    文件:ProtobufUtil.java   
/**
 * A helper to close a region given a region name
 * using admin protocol.
 *
 * @param admin
 * @param regionName
 * @param versionOfClosingNode
 * @return true if the region is closed
 * @throws IOException
 */
public static boolean closeRegion(final RpcController controller,
    final AdminService.BlockingInterface admin,
    final ServerName server,
    final byte[] regionName,
    final int versionOfClosingNode, final ServerName destinationServer,
    final boolean transitionInZK) throws IOException {
  CloseRegionRequest closeRegionRequest =
    RequestConverter.buildCloseRegionRequest(server,
      regionName, versionOfClosingNode, destinationServer, transitionInZK);
  try {
    CloseRegionResponse response = admin.closeRegion(controller, closeRegionRequest);
    return ResponseConverter.isClosed(response);
  } catch (ServiceException se) {
    throw getRemoteException(se);
  }
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * A helper to close a region given a region name
 * using admin protocol.
 *
 * @param admin
 * @param regionName
 * @param versionOfClosingNode
 * @return true if the region is closed
 * @throws IOException
 */
public static boolean closeRegion(final AdminService.BlockingInterface admin,
    final ServerName server,
    final byte[] regionName,
    final int versionOfClosingNode, final ServerName destinationServer,
    final boolean transitionInZK) throws IOException {
  CloseRegionRequest closeRegionRequest =
    RequestConverter.buildCloseRegionRequest(server,
      regionName, versionOfClosingNode, destinationServer, transitionInZK);
  try {
    CloseRegionResponse response = admin.closeRegion(null, closeRegionRequest);
    return ResponseConverter.isClosed(response);
  } catch (ServiceException se) {
    throw getRemoteException(se);
  }
}
项目:pbase    文件:HBaseAdmin.java   
/**
 * For expert-admins. Runs close on the regionserver. Closes a region based on
 * the encoded region name. The region server name is mandatory. If the
 * servername is provided then based on the online regions in the specified
 * regionserver the specified region will be closed. The master will not be
 * informed of the close. Note that the regionname is the encoded regionname.
 *
 * @param encodedRegionName
 *          The encoded region name; i.e. the hash that makes up the region
 *          name suffix: e.g. if regionname is
 *          <code>TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.</code>
 *          , then the encoded region name is:
 *          <code>527db22f95c8a9e0116f0cc13c680396</code>.
 * @param serverName
 *          The servername of the regionserver. A server name is made of host,
 *          port and startcode. This is mandatory. Here is an example:
 *          <code> host187.example.com,60020,1289493121758</code>
 * @return true if the region was closed, false if not.
 * @throws IOException
 *           if a remote or network exception occurs
 */
@Override
public boolean closeRegionWithEncodedRegionName(final String encodedRegionName,
    final String serverName) throws IOException {
  if (null == serverName || ("").equals(serverName.trim())) {
    throw new IllegalArgumentException(
        "The servername cannot be null or empty.");
  }
  ServerName sn = ServerName.valueOf(serverName);
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  // Close the region without updating zk state.
  CloseRegionRequest request =
    RequestConverter.buildCloseRegionRequest(sn, encodedRegionName, false);
  try {
    CloseRegionResponse response = admin.closeRegion(null, request);
    boolean isRegionClosed = response.getClosed();
    if (false == isRegionClosed) {
      LOG.error("Not able to close the region " + encodedRegionName + ".");
    }
    return isRegionClosed;
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * A helper to close a region given a region name
 * using admin protocol.
 *
 * @param admin
 * @param regionName
 * @param versionOfClosingNode
 * @return true if the region is closed
 * @throws IOException
 */
public static boolean closeRegion(final AdminService.BlockingInterface admin,
    final ServerName server,
    final byte[] regionName,
    final int versionOfClosingNode, final ServerName destinationServer,
    final boolean transitionInZK) throws IOException {
  CloseRegionRequest closeRegionRequest =
    RequestConverter.buildCloseRegionRequest(server,
      regionName, versionOfClosingNode, destinationServer, transitionInZK);
  try {
    CloseRegionResponse response = admin.closeRegion(null, closeRegionRequest);
    return ResponseConverter.isClosed(response);
  } catch (ServiceException se) {
    throw getRemoteException(se);
  }
}
项目:HIndex    文件:HBaseAdmin.java   
/**
 * For expert-admins. Runs close on the regionserver. Closes a region based on
 * the encoded region name. The region server name is mandatory. If the
 * servername is provided then based on the online regions in the specified
 * regionserver the specified region will be closed. The master will not be
 * informed of the close. Note that the regionname is the encoded regionname.
 *
 * @param encodedRegionName
 *          The encoded region name; i.e. the hash that makes up the region
 *          name suffix: e.g. if regionname is
 *          <code>TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.</code>
 *          , then the encoded region name is:
 *          <code>527db22f95c8a9e0116f0cc13c680396</code>.
 * @param serverName
 *          The servername of the regionserver. A server name is made of host,
 *          port and startcode. This is mandatory. Here is an example:
 *          <code> host187.example.com,60020,1289493121758</code>
 * @return true if the region was closed, false if not.
 * @throws IOException
 *           if a remote or network exception occurs
 */
public boolean closeRegionWithEncodedRegionName(final String encodedRegionName,
    final String serverName) throws IOException {
  if (null == serverName || ("").equals(serverName.trim())) {
    throw new IllegalArgumentException(
        "The servername cannot be null or empty.");
  }
  ServerName sn = ServerName.valueOf(serverName);
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  // Close the region without updating zk state.
  CloseRegionRequest request =
    RequestConverter.buildCloseRegionRequest(sn, encodedRegionName, false);
  try {
    CloseRegionResponse response = admin.closeRegion(null, request);
    boolean isRegionClosed = response.getClosed();
    if (false == isRegionClosed) {
      LOG.error("Not able to close the region " + encodedRegionName + ".");
    }
    return isRegionClosed;
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * A helper to close a region given a region name
 * using admin protocol.
 *
 * @param admin
 * @param regionName
 * @param versionOfClosingNode
 * @return true if the region is closed
 * @throws IOException
 */
public static boolean closeRegion(final AdminService.BlockingInterface admin,
    final ServerName server,
    final byte[] regionName,
    final int versionOfClosingNode, final ServerName destinationServer,
    final boolean transitionInZK) throws IOException {
  CloseRegionRequest closeRegionRequest =
    RequestConverter.buildCloseRegionRequest(server,
      regionName, versionOfClosingNode, destinationServer, transitionInZK);
  try {
    CloseRegionResponse response = admin.closeRegion(null, closeRegionRequest);
    return ResponseConverter.isClosed(response);
  } catch (ServiceException se) {
    throw getRemoteException(se);
  }
}
项目:PyroDB    文件:HBaseAdmin.java   
/**
 * For expert-admins. Runs close on the regionserver. Closes a region based on
 * the encoded region name. The region server name is mandatory. If the
 * servername is provided then based on the online regions in the specified
 * regionserver the specified region will be closed. The master will not be
 * informed of the close. Note that the regionname is the encoded regionname.
 *
 * @param encodedRegionName
 *          The encoded region name; i.e. the hash that makes up the region
 *          name suffix: e.g. if regionname is
 *          <code>TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.</code>
 *          , then the encoded region name is:
 *          <code>527db22f95c8a9e0116f0cc13c680396</code>.
 * @param serverName
 *          The servername of the regionserver. A server name is made of host,
 *          port and startcode. This is mandatory. Here is an example:
 *          <code> host187.example.com,60020,1289493121758</code>
 * @return true if the region was closed, false if not.
 * @throws IOException
 *           if a remote or network exception occurs
 */
public boolean closeRegionWithEncodedRegionName(final String encodedRegionName,
    final String serverName) throws IOException {
  if (null == serverName || ("").equals(serverName.trim())) {
    throw new IllegalArgumentException(
        "The servername cannot be null or empty.");
  }
  ServerName sn = ServerName.valueOf(serverName);
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  // Close the region without updating zk state.
  CloseRegionRequest request =
    RequestConverter.buildCloseRegionRequest(sn, encodedRegionName, false);
  try {
    CloseRegionResponse response = admin.closeRegion(null, request);
    boolean isRegionClosed = response.getClosed();
    if (false == isRegionClosed) {
      LOG.error("Not able to close the region " + encodedRegionName + ".");
    }
    return isRegionClosed;
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:c5    文件:HBaseAdmin.java   
/**
 * For expert-admins. Runs close on the regionserver. Closes a region based on
 * the encoded region name. The region server name is mandatory. If the
 * servername is provided then based on the online regions in the specified
 * regionserver the specified region will be closed. The master will not be
 * informed of the close. Note that the regionname is the encoded regionname.
 *
 * @param encodedRegionName
 *          The encoded region name; i.e. the hash that makes up the region
 *          name suffix: e.g. if regionname is
 *          <code>TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.</code>
 *          , then the encoded region name is:
 *          <code>527db22f95c8a9e0116f0cc13c680396</code>.
 * @param serverName
 *          The servername of the regionserver. A server name is made of host,
 *          port and startcode. This is mandatory. Here is an example:
 *          <code> host187.example.com,60020,1289493121758</code>
 * @return true if the region was closed, false if not.
 * @throws IOException
 *           if a remote or network exception occurs
 */
public boolean closeRegionWithEncodedRegionName(final String encodedRegionName,
    final String serverName) throws IOException {
  if (null == serverName || ("").equals(serverName.trim())) {
    throw new IllegalArgumentException(
        "The servername cannot be null or empty.");
  }
  ServerName sn = ServerName.valueOf(serverName);
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  // Close the region without updating zk state.
  CloseRegionRequest request =
    RequestConverter.buildCloseRegionRequest(encodedRegionName, false);
  try {
    CloseRegionResponse response = admin.closeRegion(null, request);
    boolean isRegionClosed = response.getClosed();
    if (false == isRegionClosed) {
      LOG.error("Not able to close the region " + encodedRegionName + ".");
    }
    return isRegionClosed;
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:DominoHBase    文件:HBaseAdmin.java   
/**
 * For expert-admins. Runs close on the regionserver. Closes a region based on
 * the encoded region name. The region server name is mandatory. If the
 * servername is provided then based on the online regions in the specified
 * regionserver the specified region will be closed. The master will not be
 * informed of the close. Note that the regionname is the encoded regionname.
 *
 * @param encodedRegionName
 *          The encoded region name; i.e. the hash that makes up the region
 *          name suffix: e.g. if regionname is
 *          <code>TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.</code>
 *          , then the encoded region name is:
 *          <code>527db22f95c8a9e0116f0cc13c680396</code>.
 * @param serverName
 *          The servername of the regionserver. A server name is made of host,
 *          port and startcode. This is mandatory. Here is an example:
 *          <code> host187.example.com,60020,1289493121758</code>
 * @return true if the region was closed, false if not.
 * @throws IOException
 *           if a remote or network exception occurs
 */
public boolean closeRegionWithEncodedRegionName(final String encodedRegionName,
    final String serverName) throws IOException {
  if (null == serverName || ("").equals(serverName.trim())) {
    throw new IllegalArgumentException(
        "The servername cannot be null or empty.");
  }
  ServerName sn = new ServerName(serverName);
  AdminProtocol admin = this.connection.getAdmin(
      sn.getHostname(), sn.getPort());
  // Close the region without updating zk state.
  CloseRegionRequest request =
    RequestConverter.buildCloseRegionRequest(encodedRegionName, false);
  try {
    CloseRegionResponse response = admin.closeRegion(null, request);
    boolean isRegionClosed = response.getClosed();
    if (false == isRegionClosed) {
      LOG.error("Not able to close the region " + encodedRegionName + ".");
    }
    return isRegionClosed;
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:ditb    文件:RSRpcServices.java   
/**
 * Close a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.ADMIN_QOS)
public CloseRegionResponse closeRegion(final RpcController controller,
    final CloseRegionRequest request) throws ServiceException {
  final ServerName sn = (request.hasDestinationServer() ?
    ProtobufUtil.toServerName(request.getDestinationServer()) : null);

  try {
    checkOpen();
    if (request.hasServerStartCode()) {
      // check that we are the same server that this RPC is intended for.
      long serverStartCode = request.getServerStartCode();
      if (regionServer.serverName.getStartcode() !=  serverStartCode) {
        throw new ServiceException(new DoNotRetryIOException("This RPC was intended for a " +
            "different server with startCode: " + serverStartCode + ", this server is: "
            + regionServer.serverName));
      }
    }
    final String encodedRegionName = ProtobufUtil.getRegionEncodedName(request.getRegion());

    // Can be null if we're calling close on a region that's not online
    final Region region = regionServer.getFromOnlineRegions(encodedRegionName);
    if ((region  != null) && (region .getCoprocessorHost() != null)) {
      region.getCoprocessorHost().preClose(false);
    }

    requestCount.increment();
    LOG.info("Close " + encodedRegionName + ", moving to " + sn);
    CloseRegionCoordination.CloseRegionDetails crd = regionServer.getCoordinatedStateManager()
      .getCloseRegionCoordination().parseFromProtoRequest(request);

    boolean closed = regionServer.closeRegion(encodedRegionName, false, crd, sn);
    CloseRegionResponse.Builder builder = CloseRegionResponse.newBuilder().setClosed(closed);
    return builder.build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:ditb    文件:HBaseAdmin.java   
/**
 * For expert-admins. Runs close on the regionserver. Closes a region based on
 * the encoded region name. The region server name is mandatory. If the
 * servername is provided then based on the online regions in the specified
 * regionserver the specified region will be closed. The master will not be
 * informed of the close. Note that the regionname is the encoded regionname.
 *
 * @param encodedRegionName
 *          The encoded region name; i.e. the hash that makes up the region
 *          name suffix: e.g. if regionname is
 *          <code>TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396.</code>
 *          , then the encoded region name is:
 *          <code>527db22f95c8a9e0116f0cc13c680396</code>.
 * @param serverName
 *          The servername of the regionserver. A server name is made of host,
 *          port and startcode. This is mandatory. Here is an example:
 *          <code> host187.example.com,60020,1289493121758</code>
 * @return true if the region was closed, false if not.
 * @throws IOException
 *           if a remote or network exception occurs
 */
@Override
public boolean closeRegionWithEncodedRegionName(final String encodedRegionName,
    final String serverName) throws IOException {
  if (null == serverName || ("").equals(serverName.trim())) {
    throw new IllegalArgumentException(
        "The servername cannot be null or empty.");
  }
  ServerName sn = ServerName.valueOf(serverName);
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  // Close the region without updating zk state.
  CloseRegionRequest request =
    RequestConverter.buildCloseRegionRequest(sn, encodedRegionName, false);
  try {
    PayloadCarryingRpcController controller = rpcControllerFactory.newController();

    // TODO: this does not do retries, it should. Set priority and timeout in controller
    CloseRegionResponse response = admin.closeRegion(controller, request);
    boolean isRegionClosed = response.getClosed();
    if (false == isRegionClosed) {
      LOG.error("Not able to close the region " + encodedRegionName + ".");
    }
    return isRegionClosed;
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:pbase    文件:RSRpcServices.java   
/**
 * Close a region on the region server.
 *
 * @param controller the RPC controller
 * @param request    the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority = HConstants.ADMIN_QOS)
public CloseRegionResponse closeRegion(final RpcController controller,
                                       final CloseRegionRequest request) throws ServiceException {
    final ServerName sn = (request.hasDestinationServer() ?
            ProtobufUtil.toServerName(request.getDestinationServer()) : null);

    try {
        checkOpen();
        if (request.hasServerStartCode()) {
            // check that we are the same server that this RPC is intended for.
            long serverStartCode = request.getServerStartCode();
            if (regionServer.serverName.getStartcode() != serverStartCode) {
                throw new ServiceException(new DoNotRetryIOException("This RPC was intended for a " +
                        "different server with startCode: " + serverStartCode + ", this server is: "
                        + regionServer.serverName));
            }
        }
        final String encodedRegionName = ProtobufUtil.getRegionEncodedName(request.getRegion());

        // Can be null if we're calling close on a region that's not online
        final HRegion region = regionServer.getFromOnlineRegions(encodedRegionName);
        if ((region != null) && (region.getCoprocessorHost() != null)) {
            region.getCoprocessorHost().preClose(false);
        }

        requestCount.increment();
        LOG.info("Close " + encodedRegionName + ", moving to " + sn);
        CloseRegionCoordination.CloseRegionDetails crd = regionServer.getCoordinatedStateManager()
                .getCloseRegionCoordination().parseFromProtoRequest(request);

        boolean closed = regionServer.closeRegion(encodedRegionName, false, crd, sn);
        CloseRegionResponse.Builder builder = CloseRegionResponse.newBuilder().setClosed(closed);
        return builder.build();
    } catch (IOException ie) {
        throw new ServiceException(ie);
    }
}
项目:c5    文件:HRegionServer.java   
/**
 * Close a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CloseRegionResponse closeRegion(final RpcController controller,
    final CloseRegionRequest request) throws ServiceException {
  int versionOfClosingNode = -1;
  if (request.hasVersionOfClosingNode()) {
    versionOfClosingNode = request.getVersionOfClosingNode();
  }
  boolean zk = request.getTransitionInZK();
  final ServerName sn = (request.hasDestinationServer() ?
    ProtobufUtil.toServerName(request.getDestinationServer()) : null);

  try {
    checkOpen();
    final String encodedRegionName = ProtobufUtil.getRegionEncodedName(request.getRegion());

    // Can be null if we're calling close on a region that's not online
    final HRegion region = this.getFromOnlineRegions(encodedRegionName);
    if ((region  != null) && (region .getCoprocessorHost() != null)) {
      region.getCoprocessorHost().preClose(false);
    }

    requestCount.increment();
    LOG.info("Close " + encodedRegionName + ", via zk=" + (zk ? "yes" : "no") +
      ", znode version=" + versionOfClosingNode + ", on " + sn);

    boolean closed = closeRegion(encodedRegionName, false, zk, versionOfClosingNode, sn);
    CloseRegionResponse.Builder builder = CloseRegionResponse.newBuilder().setClosed(closed);
    return builder.build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:c5    文件:ProtobufUtil.java   
/**
 * A helper to close a region given a region name
 * using admin protocol.
 *
 * @param admin
 * @param regionName
 * @param versionOfClosingNode
 * @return true if the region is closed
 * @throws IOException
 */
public static boolean closeRegion(final AdminService.BlockingInterface admin,
    final byte[] regionName,
    final int versionOfClosingNode, final ServerName destinationServer,
    final boolean transitionInZK) throws IOException {
  CloseRegionRequest closeRegionRequest =
    RequestConverter.buildCloseRegionRequest(
      regionName, versionOfClosingNode, destinationServer, transitionInZK);
  try {
    CloseRegionResponse response = admin.closeRegion(null, closeRegionRequest);
    return ResponseConverter.isClosed(response);
  } catch (ServiceException se) {
    throw getRemoteException(se);
  }
}
项目:DominoHBase    文件:ProtobufUtil.java   
/**
 * A helper to close a region given a region name
 * using admin protocol.
 *
 * @param admin
 * @param regionName
 * @param versionOfClosingNode
 * @return true if the region is closed
 * @throws IOException
 */
public static boolean closeRegion(final AdminProtocol admin, final byte[] regionName,
    final int versionOfClosingNode, final ServerName destinationServer,
    final boolean transitionInZK) throws IOException {
  CloseRegionRequest closeRegionRequest =
    RequestConverter.buildCloseRegionRequest(
      regionName, versionOfClosingNode, destinationServer, transitionInZK);
  try {
    CloseRegionResponse response = admin.closeRegion(null, closeRegionRequest);
    return ResponseConverter.isClosed(response);
  } catch (ServiceException se) {
    throw getRemoteException(se);
  }
}
项目:DominoHBase    文件:HRegionServer.java   
/**
 * Close a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CloseRegionResponse closeRegion(final RpcController controller,
    final CloseRegionRequest request) throws ServiceException {
  int versionOfClosingNode = -1;
  if (request.hasVersionOfClosingNode()) {
    versionOfClosingNode = request.getVersionOfClosingNode();
  }
  boolean zk = request.getTransitionInZK();
  final ServerName sn = (request.hasDestinationServer() ?
    ProtobufUtil.toServerName(request.getDestinationServer()) : null);

  try {
    checkOpen();
    final String encodedRegionName = ProtobufUtil.getRegionEncodedName(request.getRegion());

    // Can be null if we're calling close on a region that's not online
    final HRegion region = this.getFromOnlineRegions(encodedRegionName);
    if ((region  != null) && (region .getCoprocessorHost() != null)) {
      region.getCoprocessorHost().preClose(false);
    }

    requestCount.increment();
    LOG.info("Received close region: " + encodedRegionName +
        "Transitioning in ZK: " + (zk ? "yes" : "no") +
        ". Version of ZK closing node:" + versionOfClosingNode +
      ". Destination server:" + sn);

    boolean closed = closeRegion(encodedRegionName, false, zk, versionOfClosingNode, sn);
    CloseRegionResponse.Builder builder = CloseRegionResponse.newBuilder().setClosed(closed);
    return builder.build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:ditb    文件:MockRegionServer.java   
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:pbase    文件:MockRegionServer.java   
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:HIndex    文件:HRegionServer.java   
/**
 * Close a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CloseRegionResponse closeRegion(final RpcController controller,
    final CloseRegionRequest request) throws ServiceException {
  int versionOfClosingNode = -1;
  if (request.hasVersionOfClosingNode()) {
    versionOfClosingNode = request.getVersionOfClosingNode();
  }
  boolean zk = request.getTransitionInZK();
  final ServerName sn = (request.hasDestinationServer() ?
    ProtobufUtil.toServerName(request.getDestinationServer()) : null);

  try {
    checkOpen();
    if (request.hasServerStartCode() && this.serverNameFromMasterPOV != null) {
      // check that we are the same server that this RPC is intended for.
      long serverStartCode = request.getServerStartCode();
      if (this.serverNameFromMasterPOV.getStartcode() !=  serverStartCode) {
        throw new ServiceException(new DoNotRetryIOException("This RPC was intended for a " +
            "different server with startCode: " + serverStartCode + ", this server is: "
            + this.serverNameFromMasterPOV));
      }
    }
    final String encodedRegionName = ProtobufUtil.getRegionEncodedName(request.getRegion());

    // Can be null if we're calling close on a region that's not online
    final HRegion region = this.getFromOnlineRegions(encodedRegionName);
    if ((region  != null) && (region .getCoprocessorHost() != null)) {
      region.getCoprocessorHost().preClose(false);
    }

    requestCount.increment();
    LOG.info("Close " + encodedRegionName + ", via zk=" + (zk ? "yes" : "no") +
      ", znode version=" + versionOfClosingNode + ", on " + sn);

    boolean closed = closeRegion(encodedRegionName, false, zk, versionOfClosingNode, sn);
    CloseRegionResponse.Builder builder = CloseRegionResponse.newBuilder().setClosed(closed);
    return builder.build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:HIndex    文件:MockRegionServer.java   
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:PyroDB    文件:RSRpcServices.java   
/**
 * Close a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CloseRegionResponse closeRegion(final RpcController controller,
    final CloseRegionRequest request) throws ServiceException {
  int versionOfClosingNode = -1;
  if (request.hasVersionOfClosingNode()) {
    versionOfClosingNode = request.getVersionOfClosingNode();
  }
  boolean zk = request.getTransitionInZK();
  final ServerName sn = (request.hasDestinationServer() ?
    ProtobufUtil.toServerName(request.getDestinationServer()) : null);

  try {
    checkOpen();
    if (request.hasServerStartCode()) {
      // check that we are the same server that this RPC is intended for.
      long serverStartCode = request.getServerStartCode();
      if (regionServer.serverName.getStartcode() !=  serverStartCode) {
        throw new ServiceException(new DoNotRetryIOException("This RPC was intended for a " +
            "different server with startCode: " + serverStartCode + ", this server is: "
            + regionServer.serverName));
      }
    }
    final String encodedRegionName = ProtobufUtil.getRegionEncodedName(request.getRegion());

    // Can be null if we're calling close on a region that's not online
    final HRegion region = regionServer.getFromOnlineRegions(encodedRegionName);
    if ((region  != null) && (region .getCoprocessorHost() != null)) {
      region.getCoprocessorHost().preClose(false);
    }

    requestCount.increment();
    LOG.info("Close " + encodedRegionName + ", via zk=" + (zk ? "yes" : "no")
      + ", znode version=" + versionOfClosingNode + ", on " + sn);

    boolean closed = regionServer.closeRegion(encodedRegionName, false, zk, versionOfClosingNode, sn);
    CloseRegionResponse.Builder builder = CloseRegionResponse.newBuilder().setClosed(closed);
    return builder.build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:PyroDB    文件:MockRegionServer.java   
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:c5    文件:MockRegionServer.java   
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:DominoHBase    文件:MockRegionServer.java   
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:ditb    文件:ResponseConverter.java   
/**
 * Check if the region is closed from a CloseRegionResponse
 *
 * @param proto the CloseRegionResponse
 * @return the region close state
 */
public static boolean isClosed
    (final CloseRegionResponse proto) {
  if (proto == null || !proto.hasClosed()) return false;
  return proto.getClosed();
}
项目:pbase    文件:ResponseConverter.java   
/**
 * Check if the region is closed from a CloseRegionResponse
 *
 * @param proto the CloseRegionResponse
 * @return the region close state
 */
public static boolean isClosed
    (final CloseRegionResponse proto) {
  if (proto == null || !proto.hasClosed()) return false;
  return proto.getClosed();
}
项目:HIndex    文件:ResponseConverter.java   
/**
 * Check if the region is closed from a CloseRegionResponse
 *
 * @param proto the CloseRegionResponse
 * @return the region close state
 */
public static boolean isClosed
    (final CloseRegionResponse proto) {
  if (proto == null || !proto.hasClosed()) return false;
  return proto.getClosed();
}
项目:PyroDB    文件:ResponseConverter.java   
/**
 * Check if the region is closed from a CloseRegionResponse
 *
 * @param proto the CloseRegionResponse
 * @return the region close state
 */
public static boolean isClosed
    (final CloseRegionResponse proto) {
  if (proto == null || !proto.hasClosed()) return false;
  return proto.getClosed();
}
项目:c5    文件:ResponseConverter.java   
/**
 * Check if the region is closed from a CloseRegionResponse
 *
 * @param proto the CloseRegionResponse
 * @return the region close state
 */
public static boolean isClosed
    (final CloseRegionResponse proto) {
  if (proto == null || !proto.hasClosed()) return false;
  return proto.getClosed();
}
项目:DominoHBase    文件:ResponseConverter.java   
/**
 * Check if the region is closed from a CloseRegionResponse
 *
 * @param proto the CloseRegionResponse
 * @return the region close state
 */
public static boolean isClosed
    (final CloseRegionResponse proto) {
  if (proto == null || !proto.hasClosed()) return false;
  return proto.getClosed();
}