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

项目:HIndex    文件:HRegionServer.java   
/**
 * Split a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public SplitRegionResponse splitRegion(final RpcController controller,
    final SplitRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.SPLIT_REGION);
    LOG.info("Splitting " + region.getRegionNameAsString());
    region.flushcache();
    byte[] splitPoint = null;
    if (request.hasSplitPoint()) {
      splitPoint = request.getSplitPoint().toByteArray();
    }
    region.forceSplit(splitPoint);
    compactSplitThread.requestSplit(region, region.checkSplit());
    return SplitRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:PyroDB    文件:RequestConverter.java   
/**
 * Shen Li: add parameter reuseFile
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint,
    boolean reuseFile) {
  SplitRegionRequest.Builder builder = SplitRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  if (splitPoint != null) {
    builder.setSplitPoint(HBaseZeroCopyByteString.wrap(splitPoint));
  }
  if (reuseFile) {
    builder.setReuseFile(reuseFile);
  }
  return builder.build();
}
项目:c5    文件:HRegionServer.java   
/**
 * Split a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public SplitRegionResponse splitRegion(final RpcController controller,
    final SplitRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.SPLIT_REGION);
    LOG.info("Splitting " + region.getRegionNameAsString());
    region.flushcache();
    byte[] splitPoint = null;
    if (request.hasSplitPoint()) {
      splitPoint = request.getSplitPoint().toByteArray();
    }
    region.forceSplit(splitPoint);
    compactSplitThread.requestSplit(region, region.checkSplit());
    return SplitRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:DominoHBase    文件:HRegionServer.java   
/**
 * Split a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public SplitRegionResponse splitRegion(final RpcController controller,
    final SplitRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    LOG.info("Splitting " + region.getRegionNameAsString());
    region.flushcache();
    byte[] splitPoint = null;
    if (request.hasSplitPoint()) {
      splitPoint = request.getSplitPoint().toByteArray();
    }
    region.forceSplit(splitPoint);
    compactSplitThread.requestSplit(region, region.checkSplit());
    return SplitRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:ditb    文件:RSRpcServices.java   
/**
 * Split a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.ADMIN_QOS)
public SplitRegionResponse splitRegion(final RpcController controller,
    final SplitRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    Region region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.SPLIT_REGION);
    if (region.getRegionInfo().getReplicaId() != HRegionInfo.DEFAULT_REPLICA_ID) {
      throw new IOException("Can't split replicas directly. "
          + "Replicas are auto-split when their primary is split.");
    }
    LOG.info("Splitting " + region.getRegionInfo().getRegionNameAsString());
    long startTime = EnvironmentEdgeManager.currentTime();
    FlushResult flushResult = region.flush(true);
    if (flushResult.isFlushSucceeded()) {
      long endTime = EnvironmentEdgeManager.currentTime();
      regionServer.metricsRegionServer.updateFlushTime(endTime - startTime);
    }
    byte[] splitPoint = null;
    if (request.hasSplitPoint()) {
      splitPoint = request.getSplitPoint().toByteArray();
    }
    ((HRegion)region).forceSplit(splitPoint);
    regionServer.compactSplitThread.requestSplit(region, ((HRegion)region).checkSplit(),
      RpcServer.getRequestUser());
    return SplitRegionResponse.newBuilder().build();
  } catch (DroppedSnapshotException ex) {
    regionServer.abort("Replay of WAL required. Forcing server shutdown", ex);
    throw new ServiceException(ex);
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:ditb    文件:RequestConverter.java   
/**
 * Create a SplitRegionRequest for a given region name
 *
 * @param regionName the name of the region to split
 * @param splitPoint the split point
 * @return a SplitRegionRequest
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint) {
  SplitRegionRequest.Builder builder = SplitRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  if (splitPoint != null) {
    builder.setSplitPoint(ByteStringer.wrap(splitPoint));
  }
  return builder.build();
}
项目:ditb    文件:ProtobufUtil.java   
/**
 * A helper to split a region using admin protocol.
 *
 * @param admin
 * @param hri
 * @param splitPoint
 * @throws IOException
 */
public static void split(final RpcController controller,
    final AdminService.BlockingInterface admin, final HRegionInfo hri, byte[] splitPoint)
        throws IOException {
  SplitRegionRequest request =
    RequestConverter.buildSplitRegionRequest(hri.getRegionName(), splitPoint);
  try {
    admin.splitRegion(controller, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:pbase    文件:RSRpcServices.java   
/**
 * Split a region on the region server.
 *
 * @param controller the RPC controller
 * @param request    the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority = HConstants.ADMIN_QOS)
public SplitRegionResponse splitRegion(final RpcController controller,
                                       final SplitRegionRequest request) throws ServiceException {
    try {
        checkOpen();
        requestCount.increment();
        HRegion region = getRegion(request.getRegion());
        region.startRegionOperation(Operation.SPLIT_REGION);
        LOG.info("Splitting " + region.getRegionNameAsString());
        long startTime = EnvironmentEdgeManager.currentTime();
        HRegion.FlushResult flushResult = region.flushcache();
        if (flushResult.isFlushSucceeded()) {
            long endTime = EnvironmentEdgeManager.currentTime();
            regionServer.metricsRegionServer.updateFlushTime(endTime - startTime);
        }
        byte[] splitPoint = null;
        if (request.hasSplitPoint()) {
            splitPoint = request.getSplitPoint().toByteArray();
        }
        region.forceSplit(splitPoint);
        regionServer.compactSplitThread.requestSplit(region, region.checkSplit());
        return SplitRegionResponse.newBuilder().build();
    } catch (IOException ie) {
        throw new ServiceException(ie);
    }
}
项目:pbase    文件:RequestConverter.java   
/**
 * Create a SplitRegionRequest for a given region name
 *
 * @param regionName the name of the region to split
 * @param splitPoint the split point
 * @return a SplitRegionRequest
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint) {
  SplitRegionRequest.Builder builder = SplitRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  if (splitPoint != null) {
    builder.setSplitPoint(ByteStringer.wrap(splitPoint));
  }
  return builder.build();
}
项目:pbase    文件:ProtobufUtil.java   
/**
 * A helper to split a region using admin protocol.
 *
 * @param admin
 * @param hri
 * @param splitPoint
 * @throws IOException
 */
public static void split(final AdminService.BlockingInterface admin,
    final HRegionInfo hri, byte[] splitPoint) throws IOException {
  SplitRegionRequest request =
    RequestConverter.buildSplitRegionRequest(hri.getRegionName(), splitPoint);
  try {
    admin.splitRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:HIndex    文件:RequestConverter.java   
/**
 * Create a SplitRegionRequest for a given region name
 *
 * @param regionName the name of the region to split
 * @param splitPoint the split point
 * @return a SplitRegionRequest
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint) {
  SplitRegionRequest.Builder builder = SplitRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  if (splitPoint != null) {
    builder.setSplitPoint(HBaseZeroCopyByteString.wrap(splitPoint));
  }
  return builder.build();
}
项目:HIndex    文件:ProtobufUtil.java   
/**
 * A helper to split a region using admin protocol.
 *
 * @param admin
 * @param hri
 * @param splitPoint
 * @throws IOException
 */
public static void split(final AdminService.BlockingInterface admin,
    final HRegionInfo hri, byte[] splitPoint) throws IOException {
  SplitRegionRequest request =
    RequestConverter.buildSplitRegionRequest(hri.getRegionName(), splitPoint);
  try {
    admin.splitRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:PyroDB    文件:RSRpcServices.java   
/**
 * Split a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public SplitRegionResponse splitRegion(final RpcController controller,
    final SplitRegionRequest request) throws ServiceException {
  // Shen Li: add a reuseFile field to request
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    boolean reuseFile = request.getReuseFile();
    // TODO: should not ask client to provide dest hostnames
    // do it in SplitRequest
    region.startRegionOperation(Operation.SPLIT_REGION);
    LOG.info("Shen Li: Splitting " + region.getRegionNameAsString());
    region.flushcache();
    byte[] splitPoint = null;
    if (request.hasSplitPoint()) {
      splitPoint = request.getSplitPoint().toByteArray();
    }
    region.forceSplit(splitPoint);
    regionServer.compactSplitThread
      .requestSplit(region, region.checkSplit(), reuseFile);
    return SplitRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:PyroDB    文件:ProtobufUtil.java   
/**
 * Shen Li: add parameter reuseFile
 */
public static void split(final AdminService.BlockingInterface admin,
    final HRegionInfo hri, byte[] splitPoint, boolean reuseFile)
    throws IOException {
  SplitRegionRequest request =
    RequestConverter.buildSplitRegionRequest(hri.getRegionName(), 
                                             splitPoint, reuseFile);
  try {
    admin.splitRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:c5    文件:RequestConverter.java   
/**
 * Create a SplitRegionRequest for a given region name
 *
 * @param regionName the name of the region to split
 * @param splitPoint the split point
 * @return a SplitRegionRequest
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint) {
  SplitRegionRequest.Builder builder = SplitRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  if (splitPoint != null) {
    builder.setSplitPoint(ZeroCopyLiteralByteString.wrap(splitPoint));
  }
  return builder.build();
}
项目:c5    文件:ProtobufUtil.java   
/**
 * A helper to split a region using admin protocol.
 *
 * @param admin
 * @param hri
 * @param splitPoint
 * @throws IOException
 */
public static void split(final AdminService.BlockingInterface admin,
    final HRegionInfo hri, byte[] splitPoint) throws IOException {
  SplitRegionRequest request =
    RequestConverter.buildSplitRegionRequest(hri.getRegionName(), splitPoint);
  try {
    admin.splitRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:DominoHBase    文件:RequestConverter.java   
/**
 * Create a SplitRegionRequest for a given region name
 *
 * @param regionName the name of the region to split
 * @param splitPoint the split point
 * @return a SplitRegionRequest
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint) {
  SplitRegionRequest.Builder builder = SplitRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  if (splitPoint != null) {
    builder.setSplitPoint(ByteString.copyFrom(splitPoint));
  }
  return builder.build();
}
项目:DominoHBase    文件:ProtobufUtil.java   
/**
 * A helper to split a region using admin protocol.
 *
 * @param admin
 * @param hri
 * @param splitPoint
 * @throws IOException
 */
public static void split(final AdminProtocol admin,
    final HRegionInfo hri, byte[] splitPoint) throws IOException {
  SplitRegionRequest request =
    RequestConverter.buildSplitRegionRequest(hri.getRegionName(), splitPoint);
  try {
    admin.splitRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:ditb    文件:MockRegionServer.java   
@Override
public SplitRegionResponse splitRegion(RpcController controller,
    SplitRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:pbase    文件:MockRegionServer.java   
@Override
public SplitRegionResponse splitRegion(RpcController controller,
    SplitRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:HIndex    文件:MockRegionServer.java   
@Override
public SplitRegionResponse splitRegion(RpcController controller,
    SplitRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:PyroDB    文件:MockRegionServer.java   
@Override
public SplitRegionResponse splitRegion(RpcController controller,
    SplitRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:c5    文件:MockRegionServer.java   
@Override
public SplitRegionResponse splitRegion(RpcController controller,
    SplitRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:DominoHBase    文件:MockRegionServer.java   
@Override
public SplitRegionResponse splitRegion(RpcController controller,
    SplitRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:PyroDB    文件:RequestConverter.java   
/**
 * Create a SplitRegionRequest for a given region name
 *
 * @param regionName the name of the region to split
 * @param splitPoint the split point
 * @return a SplitRegionRequest
 */
public static SplitRegionRequest buildSplitRegionRequest(
    final byte[] regionName, final byte[] splitPoint) {
  return buildSplitRegionRequest(regionName, splitPoint, false);
}