当前位置: 首页>>代码示例>>Java>>正文


Java CloseRegionResponse类代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse的典型用法代码示例。如果您正苦于以下问题:Java CloseRegionResponse类的具体用法?Java CloseRegionResponse怎么用?Java CloseRegionResponse使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CloseRegionResponse类属于org.apache.hadoop.hbase.protobuf.generated.AdminProtos包,在下文中一共展示了CloseRegionResponse类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:27,代码来源:ProtobufUtil.java

示例2: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:26,代码来源:ProtobufUtil.java

示例3: closeRegionWithEncodedRegionName

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:45,代码来源:HBaseAdmin.java

示例4: closeRegionWithEncodedRegionName

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:44,代码来源:HBaseAdmin.java

示例5: closeRegionWithEncodedRegionName

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:44,代码来源:HBaseAdmin.java

示例6: closeRegionWithEncodedRegionName

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:daidong,项目名称:DominoHBase,代码行数:45,代码来源:HBaseAdmin.java

示例7: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:46,代码来源:RSRpcServices.java

示例8: closeRegionWithEncodedRegionName

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:48,代码来源:HBaseAdmin.java

示例9: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
    }
}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:46,代码来源:RSRpcServices.java

示例10: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:41,代码来源:HRegionServer.java

示例11: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:cloud-software-foundation,项目名称:c5,代码行数:25,代码来源:ProtobufUtil.java

示例12: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:daidong,项目名称:DominoHBase,代码行数:24,代码来源:ProtobufUtil.java

示例13: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:daidong,项目名称:DominoHBase,代码行数:43,代码来源:HRegionServer.java

示例14: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
@Override
public CloseRegionResponse closeRegion(RpcController controller,
    CloseRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:7,代码来源:MockRegionServer.java

示例15: closeRegion

import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse; //导入依赖的package包/类
/**
 * 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);
  }
}
 
开发者ID:tenggyut,项目名称:HIndex,代码行数:50,代码来源:HRegionServer.java


注:本文中的org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionResponse类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。