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

项目:ditb    文件:RequestConverter.java   
/**
 * Create a  CompactRegionRequest for a given region name
 *
 * @param regionName the name of the region to get info
 * @param major indicator if it is a major compaction
 * @return a CompactRegionRequest
 */
public static CompactRegionRequest buildCompactRegionRequest(
    final byte[] regionName, final boolean major, final byte [] family) {
  CompactRegionRequest.Builder builder = CompactRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  builder.setMajor(major);
  if (family != null) {
    builder.setFamily(ByteStringer.wrap(family));
  }
  return builder.build();
}
项目:ditb    文件:HBaseAdmin.java   
private void compact(final ServerName sn, final HRegionInfo hri,
    final boolean major, final byte [] family)
throws IOException {
  PayloadCarryingRpcController controller = rpcControllerFactory.newController();
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  CompactRegionRequest request =
    RequestConverter.buildCompactRegionRequest(hri.getRegionName(), major, family);
  try {
    // TODO: this does not do retries, it should. Set priority and timeout in controller
    admin.compactRegion(controller, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:pbase    文件:RequestConverter.java   
/**
 * Create a  CompactRegionRequest for a given region name
 *
 * @param regionName the name of the region to get info
 * @param major indicator if it is a major compaction
 * @return a CompactRegionRequest
 */
public static CompactRegionRequest buildCompactRegionRequest(
    final byte[] regionName, final boolean major, final byte [] family) {
  CompactRegionRequest.Builder builder = CompactRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  builder.setMajor(major);
  if (family != null) {
    builder.setFamily(ByteStringer.wrap(family));
  }
  return builder.build();
}
项目:pbase    文件:HBaseAdmin.java   
private void compact(final ServerName sn, final HRegionInfo hri,
    final boolean major, final byte [] family)
throws IOException {
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  CompactRegionRequest request =
    RequestConverter.buildCompactRegionRequest(hri.getRegionName(), major, family);
  try {
    admin.compactRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:HIndex    文件:RequestConverter.java   
/**
 * Create a  CompactRegionRequest for a given region name
 *
 * @param regionName the name of the region to get info
 * @param major indicator if it is a major compaction
 * @return a CompactRegionRequest
 */
public static CompactRegionRequest buildCompactRegionRequest(
    final byte[] regionName, final boolean major, final byte [] family) {
  CompactRegionRequest.Builder builder = CompactRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  builder.setMajor(major);
  if (family != null) {
    builder.setFamily(HBaseZeroCopyByteString.wrap(family));
  }
  return builder.build();
}
项目:HIndex    文件:HBaseAdmin.java   
private void compact(final ServerName sn, final HRegionInfo hri,
    final boolean major, final byte [] family)
throws IOException {
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  CompactRegionRequest request =
    RequestConverter.buildCompactRegionRequest(hri.getRegionName(), major, family);
  try {
    admin.compactRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:PyroDB    文件:RequestConverter.java   
/**
 * Create a  CompactRegionRequest for a given region name
 *
 * @param regionName the name of the region to get info
 * @param major indicator if it is a major compaction
 * @return a CompactRegionRequest
 */
public static CompactRegionRequest buildCompactRegionRequest(
    final byte[] regionName, final boolean major, final byte [] family) {
  CompactRegionRequest.Builder builder = CompactRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  builder.setMajor(major);
  if (family != null) {
    builder.setFamily(HBaseZeroCopyByteString.wrap(family));
  }
  return builder.build();
}
项目:PyroDB    文件:HBaseAdmin.java   
private void compact(final ServerName sn, final HRegionInfo hri,
    final boolean major, final byte [] family)
throws IOException {
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  CompactRegionRequest request =
    RequestConverter.buildCompactRegionRequest(hri.getRegionName(), major, family);
  try {
    admin.compactRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:c5    文件:RequestConverter.java   
/**
 * Create a  CompactRegionRequest for a given region name
 *
 * @param regionName the name of the region to get info
 * @param major indicator if it is a major compaction
 * @return a CompactRegionRequest
 */
public static CompactRegionRequest buildCompactRegionRequest(
    final byte[] regionName, final boolean major, final byte [] family) {
  CompactRegionRequest.Builder builder = CompactRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  builder.setMajor(major);
  if (family != null) {
    builder.setFamily(ZeroCopyLiteralByteString.wrap(family));
  }
  return builder.build();
}
项目:c5    文件:HBaseAdmin.java   
private void compact(final ServerName sn, final HRegionInfo hri,
    final boolean major, final byte [] family)
throws IOException {
  AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
  CompactRegionRequest request =
    RequestConverter.buildCompactRegionRequest(hri.getRegionName(), major, family);
  try {
    admin.compactRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:DominoHBase    文件:RequestConverter.java   
/**
 * Create a  CompactRegionRequest for a given region name
 *
 * @param regionName the name of the region to get info
 * @param major indicator if it is a major compaction
 * @return a CompactRegionRequest
 */
public static CompactRegionRequest buildCompactRegionRequest(
    final byte[] regionName, final boolean major, final byte [] family) {
  CompactRegionRequest.Builder builder = CompactRegionRequest.newBuilder();
  RegionSpecifier region = buildRegionSpecifier(
    RegionSpecifierType.REGION_NAME, regionName);
  builder.setRegion(region);
  builder.setMajor(major);
  if (family != null) {
    builder.setFamily(ByteString.copyFrom(family));
  }
  return builder.build();
}
项目:DominoHBase    文件:HBaseAdmin.java   
private void compact(final ServerName sn, final HRegionInfo hri,
    final boolean major, final byte [] family)
throws IOException {
  AdminProtocol admin =
    this.connection.getAdmin(sn.getHostname(), sn.getPort());
  CompactRegionRequest request =
    RequestConverter.buildCompactRegionRequest(hri.getRegionName(), major, family);
  try {
    admin.compactRegion(null, request);
  } catch (ServiceException se) {
    throw ProtobufUtil.getRemoteException(se);
  }
}
项目:ditb    文件:RSRpcServices.java   
/**
 * Compact a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.ADMIN_QOS)
public CompactRegionResponse compactRegion(final RpcController controller,
    final CompactRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    Region region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.COMPACT_REGION);
    LOG.info("Compacting " + region.getRegionInfo().getRegionNameAsString());
    boolean major = false;
    byte [] family = null;
    Store store = null;
    if (request.hasFamily()) {
      family = request.getFamily().toByteArray();
      store = region.getStore(family);
      if (store == null) {
        throw new ServiceException(new IOException("column family " + Bytes.toString(family)
          + " does not exist in region " + region.getRegionInfo().getRegionNameAsString()));
      }
    }
    if (request.hasMajor()) {
      major = request.getMajor();
    }
    if (major) {
      if (family != null) {
        store.triggerMajorCompaction();
      } else {
        region.triggerMajorCompaction();
      }
    }

    String familyLogMsg = (family != null)?" for column family: " + Bytes.toString(family):"";
    if (LOG.isTraceEnabled()) {
      LOG.trace("User-triggered compaction requested for region "
        + region.getRegionInfo().getRegionNameAsString() + familyLogMsg);
    }
    String log = "User-triggered " + (major ? "major " : "") + "compaction" + familyLogMsg;
    if(family != null) {
      regionServer.compactSplitThread.requestCompaction(region, store, log,
        Store.PRIORITY_USER, null, RpcServer.getRequestUser());
    } else {
      regionServer.compactSplitThread.requestCompaction(region, log,
        Store.PRIORITY_USER, null, RpcServer.getRequestUser());
    }
    return CompactRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:ditb    文件:MockRegionServer.java   
@Override
public CompactRegionResponse compactRegion(RpcController controller,
    CompactRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:ditb    文件:TestHRegionServerBulkLoad.java   
public void doAnAction() throws Exception {
  long iteration = numBulkLoads.getAndIncrement();
  Path dir =  UTIL.getDataTestDirOnTestFS(String.format("bulkLoad_%08d",
      iteration));

  // create HFiles for different column families
  FileSystem fs = UTIL.getTestFileSystem();
  byte[] val = Bytes.toBytes(String.format("%010d", iteration));
  final List<Pair<byte[], String>> famPaths = new ArrayList<Pair<byte[], String>>(
      NUM_CFS);
  for (int i = 0; i < NUM_CFS; i++) {
    Path hfile = new Path(dir, family(i));
    byte[] fam = Bytes.toBytes(family(i));
    createHFile(fs, hfile, fam, QUAL, val, 1000);
    famPaths.add(new Pair<byte[], String>(fam, hfile.toString()));
  }

  // bulk load HFiles
  final HConnection conn = UTIL.getHBaseAdmin().getConnection();
  RegionServerCallable<Void> callable =
      new RegionServerCallable<Void>(conn, tableName, Bytes.toBytes("aaa")) {
    @Override
    public Void call(int callTimeout) throws Exception {
      LOG.debug("Going to connect to server " + getLocation() + " for row "
          + Bytes.toStringBinary(getRow()));
      byte[] regionName = getLocation().getRegionInfo().getRegionName();
      BulkLoadHFileRequest request =
        RequestConverter.buildBulkLoadHFileRequest(famPaths, regionName, true);
      getStub().bulkLoadHFile(null, request);
      return null;
    }
  };
  RpcRetryingCallerFactory factory = new RpcRetryingCallerFactory(conf);
  RpcRetryingCaller<Void> caller = factory.<Void> newCaller();
  caller.callWithRetries(callable, Integer.MAX_VALUE);

  // Periodically do compaction to reduce the number of open file handles.
  if (numBulkLoads.get() % 10 == 0) {
    // 10 * 50 = 500 open file handles!
    callable = new RegionServerCallable<Void>(conn, tableName, Bytes.toBytes("aaa")) {
      @Override
      public Void call(int callTimeout) throws Exception {
        LOG.debug("compacting " + getLocation() + " for row "
            + Bytes.toStringBinary(getRow()));
        AdminProtos.AdminService.BlockingInterface server =
          conn.getAdmin(getLocation().getServerName());
        CompactRegionRequest request =
          RequestConverter.buildCompactRegionRequest(
            getLocation().getRegionInfo().getRegionName(), true, null);
        server.compactRegion(null, request);
        numCompactions.incrementAndGet();
        return null;
      }
    };
    caller.callWithRetries(callable, Integer.MAX_VALUE);
  }
}
项目:pbase    文件:RSRpcServices.java   
/**
 * Compact a region on the region server.
 *
 * @param controller the RPC controller
 * @param request    the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority = HConstants.ADMIN_QOS)
public CompactRegionResponse compactRegion(final RpcController controller,
                                           final CompactRegionRequest request) throws ServiceException {
    try {
        checkOpen();
        requestCount.increment();
        HRegion region = getRegion(request.getRegion());
        region.startRegionOperation(Operation.COMPACT_REGION);
        LOG.info("Compacting " + region.getRegionNameAsString());
        boolean major = false;
        byte[] family = null;
        Store store = null;
        if (request.hasFamily()) {
            family = request.getFamily().toByteArray();
            store = region.getStore(family);
            if (store == null) {
                throw new ServiceException(new IOException("column family " + Bytes.toString(family)
                        + " does not exist in region " + region.getRegionNameAsString()));
            }
        }
        if (request.hasMajor()) {
            major = request.getMajor();
        }
        if (major) {
            if (family != null) {
                store.triggerMajorCompaction();
            } else {
                region.triggerMajorCompaction();
            }
        }

        String familyLogMsg = (family != null) ? " for column family: " + Bytes.toString(family) : "";
        if (LOG.isTraceEnabled()) {
            LOG.trace("User-triggered compaction requested for region "
                    + region.getRegionNameAsString() + familyLogMsg);
        }
        String log = "User-triggered " + (major ? "major " : "") + "compaction" + familyLogMsg;
        if (family != null) {
            regionServer.compactSplitThread.requestCompaction(region, store, log,
                    Store.PRIORITY_USER, null);
        } else {
            regionServer.compactSplitThread.requestCompaction(region, log,
                    Store.PRIORITY_USER, null);
        }
        return CompactRegionResponse.newBuilder().build();
    } catch (IOException ie) {
        throw new ServiceException(ie);
    }
}
项目:pbase    文件:MockRegionServer.java   
@Override
public CompactRegionResponse compactRegion(RpcController controller,
    CompactRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:pbase    文件:TestHRegionServerBulkLoad.java   
public void doAnAction() throws Exception {
  long iteration = numBulkLoads.getAndIncrement();
  Path dir =  UTIL.getDataTestDirOnTestFS(String.format("bulkLoad_%08d",
      iteration));

  // create HFiles for different column families
  FileSystem fs = UTIL.getTestFileSystem();
  byte[] val = Bytes.toBytes(String.format("%010d", iteration));
  final List<Pair<byte[], String>> famPaths = new ArrayList<Pair<byte[], String>>(
      NUM_CFS);
  for (int i = 0; i < NUM_CFS; i++) {
    Path hfile = new Path(dir, family(i));
    byte[] fam = Bytes.toBytes(family(i));
    createHFile(fs, hfile, fam, QUAL, val, 1000);
    famPaths.add(new Pair<byte[], String>(fam, hfile.toString()));
  }

  // bulk load HFiles
  final HConnection conn = UTIL.getHBaseAdmin().getConnection();
  RegionServerCallable<Void> callable =
      new RegionServerCallable<Void>(conn, tableName, Bytes.toBytes("aaa")) {
    @Override
    public Void call(int callTimeout) throws Exception {
      LOG.debug("Going to connect to server " + getLocation() + " for row "
          + Bytes.toStringBinary(getRow()));
      byte[] regionName = getLocation().getRegionInfo().getRegionName();
      BulkLoadHFileRequest request =
        RequestConverter.buildBulkLoadHFileRequest(famPaths, regionName, true);
      getStub().bulkLoadHFile(null, request);
      return null;
    }
  };
  RpcRetryingCallerFactory factory = new RpcRetryingCallerFactory(conf);
  RpcRetryingCaller<Void> caller = factory.<Void> newCaller();
  caller.callWithRetries(callable, Integer.MAX_VALUE);

  // Periodically do compaction to reduce the number of open file handles.
  if (numBulkLoads.get() % 10 == 0) {
    // 10 * 50 = 500 open file handles!
    callable = new RegionServerCallable<Void>(conn, tableName, Bytes.toBytes("aaa")) {
      @Override
      public Void call(int callTimeout) throws Exception {
        LOG.debug("compacting " + getLocation() + " for row "
            + Bytes.toStringBinary(getRow()));
        AdminProtos.AdminService.BlockingInterface server =
          conn.getAdmin(getLocation().getServerName());
        CompactRegionRequest request =
          RequestConverter.buildCompactRegionRequest(
            getLocation().getRegionInfo().getRegionName(), true, null);
        server.compactRegion(null, request);
        numCompactions.incrementAndGet();
        return null;
      }
    };
    caller.callWithRetries(callable, Integer.MAX_VALUE);
  }
}
项目:HIndex    文件:HRegionServer.java   
/**
 * Compact a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CompactRegionResponse compactRegion(final RpcController controller,
    final CompactRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.COMPACT_REGION);
    LOG.info("Compacting " + region.getRegionNameAsString());
    boolean major = false;
    byte [] family = null;
    Store store = null;
    if (request.hasFamily()) {
      family = request.getFamily().toByteArray();
      store = region.getStore(family);
      if (store == null) {
        throw new ServiceException(new IOException("column family " + Bytes.toString(family) +
          " does not exist in region " + region.getRegionNameAsString()));
      }
    }
    if (request.hasMajor()) {
      major = request.getMajor();
    }
    if (major) {
      if (family != null) {
        store.triggerMajorCompaction();
      } else {
        region.triggerMajorCompaction();
      }
    }

    String familyLogMsg = (family != null)?" for column family: " + Bytes.toString(family):"";
    LOG.trace("User-triggered compaction requested for region " +
      region.getRegionNameAsString() + familyLogMsg);
    String log = "User-triggered " + (major ? "major " : "") + "compaction" + familyLogMsg;
    if(family != null) {
      compactSplitThread.requestCompaction(region, store, log,
        Store.PRIORITY_USER, null);
    } else {
      compactSplitThread.requestCompaction(region, log,
        Store.PRIORITY_USER, null);
    }
    return CompactRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:HIndex    文件:MockRegionServer.java   
@Override
public CompactRegionResponse compactRegion(RpcController controller,
    CompactRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:HIndex    文件:TestHRegionServerBulkLoad.java   
public void doAnAction() throws Exception {
  long iteration = numBulkLoads.getAndIncrement();
  Path dir =  UTIL.getDataTestDirOnTestFS(String.format("bulkLoad_%08d",
      iteration));

  // create HFiles for different column families
  FileSystem fs = UTIL.getTestFileSystem();
  byte[] val = Bytes.toBytes(String.format("%010d", iteration));
  final List<Pair<byte[], String>> famPaths = new ArrayList<Pair<byte[], String>>(
      NUM_CFS);
  for (int i = 0; i < NUM_CFS; i++) {
    Path hfile = new Path(dir, family(i));
    byte[] fam = Bytes.toBytes(family(i));
    createHFile(fs, hfile, fam, QUAL, val, 1000);
    famPaths.add(new Pair<byte[], String>(fam, hfile.toString()));
  }

  // bulk load HFiles
  final HConnection conn = UTIL.getHBaseAdmin().getConnection();
  TableName tbl = TableName.valueOf(tableName);
  RegionServerCallable<Void> callable =
      new RegionServerCallable<Void>(conn, tbl, Bytes.toBytes("aaa")) {
    @Override
    public Void call() throws Exception {
      LOG.debug("Going to connect to server " + getLocation() + " for row "
          + Bytes.toStringBinary(getRow()));
      byte[] regionName = getLocation().getRegionInfo().getRegionName();
      BulkLoadHFileRequest request =
        RequestConverter.buildBulkLoadHFileRequest(famPaths, regionName, true);
      getStub().bulkLoadHFile(null, request);
      return null;
    }
  };
  RpcRetryingCallerFactory factory = new RpcRetryingCallerFactory(conf);
  RpcRetryingCaller<Void> caller = factory.<Void> newCaller();
  caller.callWithRetries(callable);

  // Periodically do compaction to reduce the number of open file handles.
  if (numBulkLoads.get() % 10 == 0) {
    // 10 * 50 = 500 open file handles!
    callable = new RegionServerCallable<Void>(conn, tbl, Bytes.toBytes("aaa")) {
      @Override
      public Void call() throws Exception {
        LOG.debug("compacting " + getLocation() + " for row "
            + Bytes.toStringBinary(getRow()));
        AdminProtos.AdminService.BlockingInterface server =
          conn.getAdmin(getLocation().getServerName());
        CompactRegionRequest request =
          RequestConverter.buildCompactRegionRequest(
            getLocation().getRegionInfo().getRegionName(), true, null);
        server.compactRegion(null, request);
        numCompactions.incrementAndGet();
        return null;
      }
    };
    caller.callWithRetries(callable);
  }
}
项目:PyroDB    文件:RSRpcServices.java   
/**
 * Compact a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CompactRegionResponse compactRegion(final RpcController controller,
    final CompactRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.COMPACT_REGION);
    LOG.info("Compacting " + region.getRegionNameAsString());
    boolean major = false;
    byte [] family = null;
    Store store = null;
    if (request.hasFamily()) {
      family = request.getFamily().toByteArray();
      store = region.getStore(family);
      if (store == null) {
        throw new ServiceException(new IOException("column family " + Bytes.toString(family)
          + " does not exist in region " + region.getRegionNameAsString()));
      }
    }
    if (request.hasMajor()) {
      major = request.getMajor();
    }
    if (major) {
      if (family != null) {
        store.triggerMajorCompaction();
      } else {
        region.triggerMajorCompaction();
      }
    }

    String familyLogMsg = (family != null)?" for column family: " + Bytes.toString(family):"";
    if (LOG.isTraceEnabled()) {
      LOG.trace("User-triggered compaction requested for region "
        + region.getRegionNameAsString() + familyLogMsg);
    }
    String log = "User-triggered " + (major ? "major " : "") + "compaction" + familyLogMsg;
    if(family != null) {
      regionServer.compactSplitThread.requestCompaction(region, store, log,
        Store.PRIORITY_USER, null);
    } else {
      regionServer.compactSplitThread.requestCompaction(region, log,
        Store.PRIORITY_USER, null);
    }
    return CompactRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:PyroDB    文件:MockRegionServer.java   
@Override
public CompactRegionResponse compactRegion(RpcController controller,
    CompactRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:PyroDB    文件:TestHRegionServerBulkLoad.java   
public void doAnAction() throws Exception {
  long iteration = numBulkLoads.getAndIncrement();
  Path dir =  UTIL.getDataTestDirOnTestFS(String.format("bulkLoad_%08d",
      iteration));

  // create HFiles for different column families
  FileSystem fs = UTIL.getTestFileSystem();
  byte[] val = Bytes.toBytes(String.format("%010d", iteration));
  final List<Pair<byte[], String>> famPaths = new ArrayList<Pair<byte[], String>>(
      NUM_CFS);
  for (int i = 0; i < NUM_CFS; i++) {
    Path hfile = new Path(dir, family(i));
    byte[] fam = Bytes.toBytes(family(i));
    createHFile(fs, hfile, fam, QUAL, val, 1000);
    famPaths.add(new Pair<byte[], String>(fam, hfile.toString()));
  }

  // bulk load HFiles
  final HConnection conn = UTIL.getHBaseAdmin().getConnection();
  TableName tbl = TableName.valueOf(tableName);
  RegionServerCallable<Void> callable =
      new RegionServerCallable<Void>(conn, tbl, Bytes.toBytes("aaa")) {
    @Override
    public Void call(int callTimeout) throws Exception {
      LOG.debug("Going to connect to server " + getLocation() + " for row "
          + Bytes.toStringBinary(getRow()));
      byte[] regionName = getLocation().getRegionInfo().getRegionName();
      BulkLoadHFileRequest request =
        RequestConverter.buildBulkLoadHFileRequest(famPaths, regionName, true);
      getStub().bulkLoadHFile(null, request);
      return null;
    }
  };
  RpcRetryingCallerFactory factory = new RpcRetryingCallerFactory(conf);
  RpcRetryingCaller<Void> caller = factory.<Void> newCaller();
  caller.callWithRetries(callable, Integer.MAX_VALUE);

  // Periodically do compaction to reduce the number of open file handles.
  if (numBulkLoads.get() % 10 == 0) {
    // 10 * 50 = 500 open file handles!
    callable = new RegionServerCallable<Void>(conn, tbl, Bytes.toBytes("aaa")) {
      @Override
      public Void call(int callTimeout) throws Exception {
        LOG.debug("compacting " + getLocation() + " for row "
            + Bytes.toStringBinary(getRow()));
        AdminProtos.AdminService.BlockingInterface server =
          conn.getAdmin(getLocation().getServerName());
        CompactRegionRequest request =
          RequestConverter.buildCompactRegionRequest(
            getLocation().getRegionInfo().getRegionName(), true, null);
        server.compactRegion(null, request);
        numCompactions.incrementAndGet();
        return null;
      }
    };
    caller.callWithRetries(callable, Integer.MAX_VALUE);
  }
}
项目:c5    文件:HRegionServer.java   
/**
 * Compact a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CompactRegionResponse compactRegion(final RpcController controller,
    final CompactRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    region.startRegionOperation(Operation.COMPACT_REGION);
    LOG.info("Compacting " + region.getRegionNameAsString());
    boolean major = false;
    byte [] family = null;
    Store store = null;
    if (request.hasFamily()) {
      family = request.getFamily().toByteArray();
      store = region.getStore(family);
      if (store == null) {
        throw new ServiceException(new IOException("column family " + Bytes.toString(family) +
          " does not exist in region " + region.getRegionNameAsString()));
      }
    }
    if (request.hasMajor()) {
      major = request.getMajor();
    }
    if (major) {
      if (family != null) {
        store.triggerMajorCompaction();
      } else {
        region.triggerMajorCompaction();
      }
    }

    String familyLogMsg = (family != null)?" for column family: " + Bytes.toString(family):"";
    LOG.trace("User-triggered compaction requested for region " +
      region.getRegionNameAsString() + familyLogMsg);
    String log = "User-triggered " + (major ? "major " : "") + "compaction" + familyLogMsg;
    if(family != null) {
      compactSplitThread.requestCompaction(region, store, log,
        Store.PRIORITY_USER, null);
    } else {
      compactSplitThread.requestCompaction(region, log,
        Store.PRIORITY_USER, null);
    }
    return CompactRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:c5    文件:MockRegionServer.java   
@Override
public CompactRegionResponse compactRegion(RpcController controller,
    CompactRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}
项目:c5    文件:TestHRegionServerBulkLoad.java   
public void doAnAction() throws Exception {
  long iteration = numBulkLoads.getAndIncrement();
  Path dir =  UTIL.getDataTestDirOnTestFS(String.format("bulkLoad_%08d",
      iteration));

  // create HFiles for different column families
  FileSystem fs = UTIL.getTestFileSystem();
  byte[] val = Bytes.toBytes(String.format("%010d", iteration));
  final List<Pair<byte[], String>> famPaths = new ArrayList<Pair<byte[], String>>(
      NUM_CFS);
  for (int i = 0; i < NUM_CFS; i++) {
    Path hfile = new Path(dir, family(i));
    byte[] fam = Bytes.toBytes(family(i));
    createHFile(fs, hfile, fam, QUAL, val, 1000);
    famPaths.add(new Pair<byte[], String>(fam, hfile.toString()));
  }

  // bulk load HFiles
  final HConnection conn = UTIL.getHBaseAdmin().getConnection();
  TableName tbl = TableName.valueOf(tableName);
  RegionServerCallable<Void> callable =
      new RegionServerCallable<Void>(conn, tbl, Bytes.toBytes("aaa")) {
    @Override
    public Void call() throws Exception {
      LOG.debug("Going to connect to server " + getLocation() + " for row "
          + Bytes.toStringBinary(getRow()));
      byte[] regionName = getLocation().getRegionInfo().getRegionName();
      BulkLoadHFileRequest request =
        RequestConverter.buildBulkLoadHFileRequest(famPaths, regionName, true);
      getStub().bulkLoadHFile(null, request);
      return null;
    }
  };
  RpcRetryingCallerFactory factory = new RpcRetryingCallerFactory(conf);
  RpcRetryingCaller<Void> caller = factory.<Void> newCaller();
  caller.callWithRetries(callable);

  // Periodically do compaction to reduce the number of open file handles.
  if (numBulkLoads.get() % 10 == 0) {
    // 10 * 50 = 500 open file handles!
    callable = new RegionServerCallable<Void>(conn, tbl, Bytes.toBytes("aaa")) {
      @Override
      public Void call() throws Exception {
        LOG.debug("compacting " + getLocation() + " for row "
            + Bytes.toStringBinary(getRow()));
        AdminProtos.AdminService.BlockingInterface server =
          conn.getAdmin(getLocation().getServerName());
        CompactRegionRequest request =
          RequestConverter.buildCompactRegionRequest(
            getLocation().getRegionInfo().getRegionName(), true, null);
        server.compactRegion(null, request);
        numCompactions.incrementAndGet();
        return null;
      }
    };
    caller.callWithRetries(callable);
  }
}
项目:DominoHBase    文件:HRegionServer.java   
/**
 * Compact a region on the region server.
 *
 * @param controller the RPC controller
 * @param request the request
 * @throws ServiceException
 */
@Override
@QosPriority(priority=HConstants.HIGH_QOS)
public CompactRegionResponse compactRegion(final RpcController controller,
    final CompactRegionRequest request) throws ServiceException {
  try {
    checkOpen();
    requestCount.increment();
    HRegion region = getRegion(request.getRegion());
    LOG.info("Compacting " + region.getRegionNameAsString());
    boolean major = false;
    byte [] family = null;
    Store store = null;
    if (request.hasFamily()) {
      family = request.getFamily().toByteArray();
      store = region.getStore(family);
      if (store == null) {
        throw new ServiceException(new IOException("column family " + Bytes.toString(family) +
          " does not exist in region " + region.getRegionNameAsString()));
      }
    }
    if (request.hasMajor()) {
      major = request.getMajor();
    }
    if (major) {
      if (family != null) {
        store.triggerMajorCompaction();
      } else {
        region.triggerMajorCompaction();
      }
    }

    String familyLogMsg = (family != null)?" for column family: " + Bytes.toString(family):"";
    LOG.trace("User-triggered compaction requested for region " +
      region.getRegionNameAsString() + familyLogMsg);
    String log = "User-triggered " + (major ? "major " : "") + "compaction" + familyLogMsg;
    if(family != null) {
      compactSplitThread.requestCompaction(region, store, log,
        Store.PRIORITY_USER);
    } else {
      compactSplitThread.requestCompaction(region, log,
        Store.PRIORITY_USER);
    }
    return CompactRegionResponse.newBuilder().build();
  } catch (IOException ie) {
    throw new ServiceException(ie);
  }
}
项目:DominoHBase    文件:MockRegionServer.java   
@Override
public CompactRegionResponse compactRegion(RpcController controller,
    CompactRegionRequest request) throws ServiceException {
  // TODO Auto-generated method stub
  return null;
}