@Override public boolean evaluate() throws Exception { return regionServer.isAborted(); } });
private int start() throws Exception { Configuration conf = getConf(); TraceUtil.initTracer(conf); try { // If 'local', don't start a region server here. Defer to // LocalHBaseCluster. It manages 'local' clusters. if (LocalHBaseCluster.isLocal(conf)) { LOG.warn("Not starting a distinct region server because " + HConstants.CLUSTER_DISTRIBUTED + " is false"); } else { logProcessInfo(getConf()); HRegionServer hrs = HRegionServer.constructRegionServer(regionServerClass, conf); hrs.start(); hrs.join(); if (hrs.isAborted()) { throw new RuntimeException("HRegionServer Aborted"); } } } catch (Throwable t) { LOG.error("Region server exiting", t); return 1; } return 0; }
/** * Called to verify that this server is up and running. */ // TODO : Rename this and HMaster#checkInitialized to isRunning() (or a better name). protected void checkOpen() throws IOException { if (regionServer.isAborted()) { throw new RegionServerAbortedException("Server " + regionServer.serverName + " aborting"); } if (regionServer.isStopped()) { throw new RegionServerStoppedException("Server " + regionServer.serverName + " stopping"); } if (!regionServer.fsOk) { throw new RegionServerStoppedException("File system not available"); } if (!regionServer.isOnline()) { throw new ServerNotRunningYetException("Server " + regionServer.serverName + " is not running yet"); } }
private void startServices() throws IOException { if (!isStopped() && !isAborted()) { initializeThreads();
if (isStopped() || isAborted()) { return; // No need for further initialization
private void verifyMethodResult(Class<?> coprocessor, String methodName[], TableName tableName, Object value[]) throws IOException { try { for (JVMClusterUtil.RegionServerThread t : cluster.getRegionServerThreads()) { if (!t.isAlive() || t.getRegionServer().isAborted() || t.getRegionServer().isStopping()) { continue; } for (RegionInfo r : ProtobufUtil .getOnlineRegions(t.getRegionServer().getRSRpcServices())) { if (!r.getTable().equals(tableName)) { continue; } RegionCoprocessorHost cph = t.getRegionServer().getOnlineRegion(r.getRegionName()).getCoprocessorHost(); Coprocessor cp = cph.findCoprocessor(coprocessor.getName()); assertNotNull(cp); for (int i = 0; i < methodName.length; ++i) { Method m = coprocessor.getMethod(methodName[i]); Object o = m.invoke(cp); assertTrue("Result of " + coprocessor.getName() + "." + methodName[i] + " is expected to be " + value[i].toString() + ", while we get " + o.toString(), o.equals(value[i])); } } } } catch (Exception e) { throw new IOException(e.toString()); } }
aborted = regionServer.isAborted(); if (aborted) { break;
assertFalse(regionServer.isAborted()); try { Thread.sleep(1000);
@AfterClass public static void tearDownAfterClass() throws Exception { HRegionServer rs = null; for (JVMClusterUtil.RegionServerThread thread: TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) { rs = thread.getRegionServer(); } cleanUp(); TEST_UTIL.shutdownMiniCluster(); assertTrue("region server should have aborted due to FaultyAccessController", rs.isAborted()); }
int liveRS = 0; for (RegionServerThread rsThreads : regionServerThreads) { if (!rsThreads.getRegionServer().isAborted()) { liveRS++; for (RegionServerThread rsThread : regionServerThreads) { while (true) { if (!rsThread.getRegionServer().isAborted()) { List<HRegion> onlineRegions = rsThread.getRegionServer().getRegions( LABELS_TABLE_NAME);
/** * Test that a coprocessor is able to override a normal regionserver stop request. */ @Test public void testStopOverrideFromCoprocessor() throws Exception { Admin admin = testUtil.getHBaseAdmin(); HRegionServer regionserver = cluster.getRegionServer(0); admin.stopRegionServer(regionserver.getServerName().getHostAndPort()); // regionserver should have failed to stop due to coprocessor assertFalse(cluster.getRegionServer(0).isAborted()); assertFalse(cluster.getRegionServer(0).isStopped()); }
assertFalse(rsThread.getRegionServer().isAborted());
if (server.isStopping() || server.isStopped() || server.isAborted()) { LOG.info("\t== Offline: " + server.getServerName()); continue;
@Override public boolean evaluate() throws Exception { return regionServer.isAborted(); } });
if (server.isStopping() || server.isStopped() || server.isAborted()) { LOG.info("\t== Offline: " + server.getServerName()); continue;
@AfterClass public static void tearDownAfterClass() throws Exception { HRegionServer rs = null; for (JVMClusterUtil.RegionServerThread thread: TEST_UTIL.getMiniHBaseCluster().getRegionServerThreads()) { rs = thread.getRegionServer(); } cleanUp(); TEST_UTIL.shutdownMiniCluster(); assertTrue("region server should have aborted due to FaultyAccessController", rs.isAborted()); }
/** * Test that a coprocessor is able to override a normal regionserver stop request. */ @Test public void testStopOverrideFromCoprocessor() throws Exception { Admin admin = testUtil.getHBaseAdmin(); HRegionServer regionserver = cluster.getRegionServer(0); admin.stopRegionServer(regionserver.getServerName().getHostAndPort()); // regionserver should have failed to stop due to coprocessor assertFalse(cluster.getRegionServer(0).isAborted()); assertFalse(cluster.getRegionServer(0).isStopped()); }