@Override public void eliminateTabletServers(ClientContext ctx, TabletLocations locs, int count) throws Exception { List<ProcessReference> procs = new ArrayList<>( getCluster().getProcesses().get(ServerType.TABLET_SERVER)); Collections.shuffle(procs); for (int i = 0; i < count; ++i) { ProcessReference pr = procs.get(i); log.info("Crashing {}", pr.getProcess()); getCluster().killProcess(ServerType.TABLET_SERVER, pr); } } });
private void restartTServer() throws Exception { for (ProcessReference proc : cluster.getProcesses().get(ServerType.TABLET_SERVER)) { cluster.killProcess(ServerType.TABLET_SERVER, proc); } cluster.start(); }
private void restartTServer() throws Exception { for (ProcessReference proc : cluster.getProcesses().get(ServerType.TABLET_SERVER)) { cluster.killProcess(ServerType.TABLET_SERVER, proc); } cluster.start(); }
private void restartTServer() throws Exception { for (ProcessReference proc : cluster.getProcesses().get(ServerType.TABLET_SERVER)) { cluster.killProcess(ServerType.TABLET_SERVER, proc); } cluster.start(); }
assertEquals(0, stats.deadTabletServers.size()); log.info("Killing a tablet server"); getCluster().killProcess(TABLET_SERVER, getCluster().getProcesses().get(TABLET_SERVER).iterator().next());
private void killMacGc() throws ProcessNotFoundException, InterruptedException, KeeperException { // kill gc started by MAC getCluster().killProcess(ServerType.GARBAGE_COLLECTOR, getCluster().getProcesses().get(ServerType.GARBAGE_COLLECTOR).iterator().next()); // delete lock in zookeeper if there, this will allow next GC to start quickly String path = ZooUtil.getRoot(new ZooKeeperInstance(getCluster().getClientConfig())) + Constants.ZGC_LOCK; ZooReaderWriter zk = new ZooReaderWriter(cluster.getZooKeepers(), 30000, OUR_SECRET); try { ZooLock.deleteLock(zk, path); } catch (IllegalStateException e) { } assertNull(getCluster().getProcesses().get(ServerType.GARBAGE_COLLECTOR)); }
sleepUninterruptibly(1, TimeUnit.SECONDS); cluster.killProcess(ServerType.TABLET_SERVER, cluster.getProcesses().get(ServerType.TABLET_SERVER).iterator().next()); sleepUninterruptibly(1, TimeUnit.SECONDS);
@Test public void test() throws Exception { Connector c = getConnector(); c.tableOperations().create("test_ingest"); BatchWriter bw = c.createBatchWriter("test_ingest", null); Mutation m = new Mutation("row"); m.put("cf", "cq", "value"); bw.addMutation(m); bw.close(); // kill zookeeper for (ProcessReference proc : cluster.getProcesses().get(ServerType.ZOOKEEPER)) cluster.killProcess(ServerType.ZOOKEEPER, proc); // give the servers time to react sleepUninterruptibly(1, TimeUnit.SECONDS); // start zookeeper back up cluster.start(); // use the tservers Scanner s = c.createScanner("test_ingest", Authorizations.EMPTY); Iterator<Entry<Key,Value>> i = s.iterator(); assertTrue(i.hasNext()); assertEquals("row", i.next().getKey().getRow().toString()); assertFalse(i.hasNext()); // use the master c.tableOperations().delete("test_ingest"); }
getCluster().killProcess(ServerType.TABLET_SERVER, ref); final Process ts = cluster.exec(TabletServer.class);
cluster.killProcess(ServerType.TABLET_SERVER, proc);
cluster.killProcess(ServerType.TABLET_SERVER, cluster.getProcesses().get(ServerType.TABLET_SERVER).iterator().next()); Set<TServerInstance> replStates = new HashSet<>();
cluster.killProcess(ServerType.TABLET_SERVER, proc);
continue; for (ProcessReference pr : entry.getValue()) getCluster().killProcess(entry.getKey(), pr);
@Test public void dontGCRootLog() throws Exception { killMacGc(); // dirty metadata Connector c = getConnector(); String table = getUniqueNames(1)[0]; c.tableOperations().create(table); // let gc run for a bit cluster.start(); sleepUninterruptibly(20, TimeUnit.SECONDS); killMacGc(); // kill tservers for (ProcessReference ref : cluster.getProcesses().get(ServerType.TABLET_SERVER)) { cluster.killProcess(ServerType.TABLET_SERVER, ref); } // run recovery cluster.start(); // did it recover? Scanner scanner = c.createScanner(MetadataTable.NAME, Authorizations.EMPTY); Iterators.size(scanner.iterator()); }
cluster.killProcess(ServerType.TABLET_SERVER, proc);
cluster.killProcess(ServerType.TABLET_SERVER, proc);
primary.killProcess(ServerType.TABLET_SERVER, proc);
cluster.killProcess(ServerType.TABLET_SERVER, proc);
cluster.killProcess(ServerType.TABLET_SERVER, proc);
cluster.killProcess(ServerType.TABLET_SERVER, proc);