return impl.getRegionInfo(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest)request); case 1: return impl.getStoreFile(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest)request); case 2: return impl.getOnlineRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest)request); case 3: return impl.openRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest)request); case 4: return impl.warmupRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest)request); case 5: return impl.closeRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest)request); case 6: return impl.flushRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest)request); case 7: return impl.compactionSwitch(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactionSwitchRequest)request); case 8: return impl.compactRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest)request); case 9: return impl.replicateWALEntry(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest)request); case 10: return impl.replay(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest)request); case 11: return impl.rollWALWriter(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest)request); case 12: return impl.getServerInfo(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest)request); case 13: return impl.stopServer(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest)request); case 14: return impl.updateFavoredNodes(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest)request);
targetRS.stopServer(null, AdminProtos.StopServerRequest.newBuilder().setReason("Die").build()); } catch(Exception e) {
((ClusterConnection) admin.getConnection()).getAdmin(targetServer); try { targetServer = ProtobufUtil.toServerName(targetRS.getServerInfo(null, GetServerInfoRequest.newBuilder().build()).getServerInfo().getServerName()); targetRS.stopServer(null, AdminProtos.StopServerRequest.newBuilder().setReason("Die").build()); NUM_DEAD_SERVERS ++; targetServer = ServerName.parseServerName(iterator.next().toString()); targetRS = ((ClusterConnection) admin.getConnection()).getAdmin(targetServer); targetServer = ProtobufUtil.toServerName(targetRS.getServerInfo(null, GetServerInfoRequest.newBuilder().build()).getServerInfo().getServerName()); assertTrue(master.getServerManager().getOnlineServers().containsKey(targetServer));
return impl.getRegionInfo(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest)request); case 1: return impl.getStoreFile(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest)request); case 2: return impl.getOnlineRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest)request); case 3: return impl.openRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest)request); case 4: return impl.warmupRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest)request); case 5: return impl.closeRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest)request); case 6: return impl.flushRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest)request); case 7: return impl.compactRegion(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest)request); case 8: return impl.replicateWALEntry(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest)request); case 9: return impl.replay(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest)request); case 10: return impl.rollWALWriter(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest)request); case 11: return impl.getServerInfo(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest)request); case 12: return impl.stopServer(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest)request); case 13: return impl.updateFavoredNodes(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest)request); case 14: return impl.updateConfiguration(controller, (org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest)request);
((ClusterConnection) admin.getConnection()).getAdmin(targetServer); targetServer = ProtobufUtil.toServerName( targetRS.getServerInfo(null, GetServerInfoRequest.newBuilder().build()).getServerInfo() .getServerName()); assertTrue(master.getServerManager().getOnlineServers().containsKey(targetServer));
((ClusterConnection) admin.getConnection()).getAdmin(targetServer); try { targetServer = ProtobufUtil.toServerName(targetRS.getServerInfo(null, GetServerInfoRequest.newBuilder().build()).getServerInfo().getServerName()); targetRS.stopServer(null, AdminProtos.StopServerRequest.newBuilder().setReason("Die").build()); NUM_DEAD_SERVERS ++;
final AdminProtos.AdminService.BlockingInterface implementation = Mockito.mock(AdminProtos.AdminService.BlockingInterface.class); Mockito.when(implementation.getRegionInfo((RpcController)Mockito.any(), (GetRegionInfoRequest)Mockito.any())).thenThrow(connectException); Mockito.when(connection.getAdmin(Mockito.any())).
@Override public CompactionState getCompactionStateForRegion(final byte[] regionName) throws IOException { final Pair<RegionInfo, ServerName> regionServerPair = getRegion(regionName); if (regionServerPair == null) { throw new IllegalArgumentException("Invalid region: " + Bytes.toStringBinary(regionName)); } if (regionServerPair.getSecond() == null) { throw new NoServerForRegionException(Bytes.toStringBinary(regionName)); } ServerName sn = regionServerPair.getSecond(); final AdminService.BlockingInterface admin = this.connection.getAdmin(sn); // TODO: There is no timeout on this controller. Set one! HBaseRpcController controller = rpcControllerFactory.newController(); GetRegionInfoRequest request = RequestConverter.buildGetRegionInfoRequest( regionServerPair.getFirst().getRegionName(), true); GetRegionInfoResponse response; try { response = admin.getRegionInfo(controller, request); } catch (ServiceException e) { throw ProtobufUtil.handleRemoteException(e); } if (response.getCompactionState() != null) { return ProtobufUtil.createCompactionState(response.getCompactionState()); } return null; }
@Override protected FlushRegionResponse call(HBaseRpcController controller) throws Exception { // Check whether we should still do the flush to this region. If the regions are changed due // to splits or merges, etc return success if (!Bytes.equals(location.getRegionInfo().getRegionName(), regionName)) { if (!reload) { throw new IOException("Cached location seems to be different than requested region."); } LOG.info("Skipping flush region, because the located region " + Bytes.toStringBinary(location.getRegionInfo().getRegionName()) + " is different than " + " requested region " + Bytes.toStringBinary(regionName)); return FlushRegionResponse.newBuilder() .setLastFlushTime(EnvironmentEdgeManager.currentTime()) .setFlushed(false) .setWroteFlushWalMarker(false) .build(); } FlushRegionRequest request = RequestConverter.buildFlushRegionRequest(regionName, writeFlushWalMarker); return stub.flushRegion(controller, request); } }
/** * A helper to retrieve region info given a region name * using admin protocol. * * @param admin * @param regionName * @return the retrieved region info * @throws IOException */ public static org.apache.hadoop.hbase.client.RegionInfo getRegionInfo(final RpcController controller, final AdminService.BlockingInterface admin, final byte[] regionName) throws IOException { try { GetRegionInfoRequest request = RequestConverter.buildGetRegionInfoRequest(regionName); GetRegionInfoResponse response = admin.getRegionInfo(controller, request); return toRegionInfo(response.getRegionInfo()); } catch (ServiceException se) { throw getRemoteException(se); } }
/** * A helper to close a region given a region name * using admin protocol. * * @param admin * @param regionName * @throws IOException */ public static void closeRegion(final RpcController controller, final AdminService.BlockingInterface admin, final ServerName server, final byte[] regionName) throws IOException { CloseRegionRequest closeRegionRequest = ProtobufUtil.buildCloseRegionRequest(server, regionName); try { admin.closeRegion(controller, closeRegionRequest); } catch (ServiceException se) { throw getRemoteException(se); } }
@Override public synchronized void stopRegionServer(final String hostnamePort) throws IOException { String hostname = Addressing.parseHostname(hostnamePort); int port = Addressing.parsePort(hostnamePort); final AdminService.BlockingInterface admin = this.connection.getAdmin(ServerName.valueOf(hostname, port, 0)); // TODO: There is no timeout on this controller. Set one! HBaseRpcController controller = rpcControllerFactory.newController(); controller.setPriority(HConstants.HIGH_QOS); StopServerRequest request = RequestConverter.buildStopServerRequest( "Called by admin client " + this.connection.toString()); try { admin.stopServer(controller, request); } catch (Exception e) { throw ProtobufUtil.handleRemoteException(e); } }
/** * A helper to get the all the online regions on a region * server using admin protocol. * @return a list of online region info */ public static List<org.apache.hadoop.hbase.client.RegionInfo> getOnlineRegions(final RpcController controller, final AdminService.BlockingInterface admin) throws IOException { GetOnlineRegionRequest request = RequestConverter.buildGetOnlineRegionRequest(); GetOnlineRegionResponse response = null; try { response = admin.getOnlineRegion(controller, request); } catch (ServiceException se) { throw getRemoteException(se); } return getRegionInfos(response); }
/** * A helper to open a region using admin protocol. * @param admin * @param region * @throws IOException */ public static void openRegion(final RpcController controller, final AdminService.BlockingInterface admin, ServerName server, final org.apache.hadoop.hbase.client.RegionInfo region) throws IOException { OpenRegionRequest request = RequestConverter.buildOpenRegionRequest(server, region, null); try { admin.openRegion(controller, request); } catch (ServiceException se) { throw ProtobufUtil.getRemoteException(se); } }
/** * A helper to get the info of a region server using admin protocol. * @return the server name */ public static ServerInfo getServerInfo(final RpcController controller, final AdminService.BlockingInterface admin) throws IOException { GetServerInfoRequest request = RequestConverter.buildGetServerInfoRequest(); try { GetServerInfoResponse response = admin.getServerInfo(controller, request); return response.getServerInfo(); } catch (ServiceException se) { throw getRemoteException(se); } }
private CacheEvictionStats clearBlockCache(final ServerName sn, final List<RegionInfo> hris) throws IOException { HBaseRpcController controller = rpcControllerFactory.newController(); AdminService.BlockingInterface admin = this.connection.getAdmin(sn); ClearRegionBlockCacheRequest request = RequestConverter.buildClearRegionBlockCacheRequest(hris); ClearRegionBlockCacheResponse response; try { response = admin.clearRegionBlockCache(controller, request); return ProtobufUtil.toCacheEvictionStats(response.getStats()); } catch (ServiceException se) { throw ProtobufUtil.getRemoteException(se); } }
@Override protected Void rpcCall() 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; } };
@Override protected Void rpcCall() 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; } };
@Override protected Void rpcCall() 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; } };
@Override public GetRegionInfoResponse call() throws Exception { GetRegionInfoRequest request = RequestConverter.buildGetRegionInfoRequest(regionName, true); return snAdmin.getRegionInfo(rpcController, request); } };