private void printProcessStatus(String indexerName, PrintStream printStream) throws InterruptedException, KeeperException { int numRunning = 0; List<String> failedNodes = Lists.newArrayList(); IndexerProcessRegistry processRegistry = new IndexerProcessRegistryImpl(zk, conf); List<IndexerProcess> indexerProcesses = processRegistry.getIndexerProcesses(indexerName); for (IndexerProcess indexerProcess : indexerProcesses) { if (indexerProcess.isRunning()) { numRunning++; } else { failedNodes.add(indexerProcess.getHostName()); } } printStream.println(" + Processes"); printStream.printf(" + %d running processes\n", numRunning); printStream.printf(" + %d failed processes\n", failedNodes.size()); for (String failedNode : failedNodes) { printStream.printf(" + %s\n", failedNode); } }
private boolean stopIndexer(String indexerName) { indexerRegistry.unregister(indexerName); String processId = indexerProcessIds.remove(indexerName); if (processId == null) { log.warn("No indexer process to unregister for indexer " + indexerName); } else { try { indexerProcessRegistry.unregisterIndexerProcess(processId); } catch (Exception e) { log.error("Error unregistering indexer process (from zookeeper): " + indexerProcessIds, e); } } IndexerHandle handle = indexers.get(indexerName); if (handle == null) { return true; } try { handle.stop(); indexers.remove(indexerName); log.info("Stopped indexer " + indexerName); return true; } catch (Throwable t) { log.fatal("Failed to stop an indexer that should be stopped.", t); return false; } }
indexerProcessRegistry.unregisterIndexerProcess(indexerProcessIds.remove(indexerDef.getName())); indexerProcessId = indexerProcessRegistry.registerIndexerProcess(indexerDef.getName(), hostName); indexerProcessIds.put(indexerDef.getName(), indexerProcessId); indexerProcessRegistry.setErrorStatus(indexerProcessId, t);
indexerProcessRegistry.unregisterIndexerProcess(indexerProcessIds.remove(indexerDef.getName())); indexerProcessId = indexerProcessRegistry.registerIndexerProcess(indexerDef.getName(), hostName); indexerProcessIds.put(indexerDef.getName(), indexerProcessId); indexerProcessRegistry.setErrorStatus(indexerProcessId, t);
private void printProcessStatus(String indexerName, PrintStream printStream) throws InterruptedException, KeeperException { int numRunning = 0; List<String> failedNodes = Lists.newArrayList(); IndexerProcessRegistry processRegistry = new IndexerProcessRegistryImpl(zk, conf); List<IndexerProcess> indexerProcesses = processRegistry.getIndexerProcesses(indexerName); for (IndexerProcess indexerProcess : indexerProcesses) { if (indexerProcess.isRunning()) { numRunning++; } else { failedNodes.add(indexerProcess.getHostName()); } } printStream.println(" + Processes"); printStream.printf(" + %d running processes\n", numRunning); printStream.printf(" + %d failed processes\n", failedNodes.size()); for (String failedNode : failedNodes) { printStream.printf(" + %s\n", failedNode); } }
private boolean stopIndexer(String indexerName) { indexerRegistry.unregister(indexerName); String processId = indexerProcessIds.remove(indexerName); if (processId == null) { log.warn("No indexer process to unregister for indexer " + indexerName); } else { try { indexerProcessRegistry.unregisterIndexerProcess(processId); } catch (Exception e) { log.error("Error unregistering indexer process (from zookeeper): " + indexerProcessIds, e); } } IndexerHandle handle = indexers.get(indexerName); if (handle == null) { return true; } try { handle.stop(); indexers.remove(indexerName); log.info("Stopped indexer " + indexerName); return true; } catch (Throwable t) { log.fatal("Failed to stop an indexer that should be stopped.", t); return false; } }