/** * Ensures the internal aliases is up to date. If there is a change, return true. * * @return true if an update was performed */ public boolean update() throws KeeperException, InterruptedException { log.debug("Checking ZK for most up to date Aliases {}", ALIASES); // Call sync() first to ensure the subsequent read (getData) is up to date. zkClient.getSolrZooKeeper().sync(ALIASES, null, null); Stat stat = new Stat(); final byte[] data = zkClient.getData(ALIASES, null, stat, true); return setIfNewer(Aliases.fromJSON(data, stat.getVersion())); }
/** * Make the zookeeper session on a particular jetty expire */ public void expireZkSession(JettySolrRunner jetty) { CoreContainer cores = jetty.getCoreContainer(); if (cores != null) { SolrZkClient zkClient = cores.getZkController().getZkClient(); zkClient.getSolrZooKeeper().closeCnxn(); long sessionId = zkClient.getSolrZooKeeper().getSessionId(); zkServer.expire(sessionId); log.info("Expired zookeeper session {} from node {}", sessionId, jetty.getBaseUrl()); } }
public static void causeConnectionLoss(JettySolrRunner jetty) { CoreContainer cores = jetty.getCoreContainer(); if (cores != null) { monkeyLog("Will cause connection loss on " + jetty.getLocalPort()); SolrZkClient zkClient = cores.getZkController().getZkClient(); zkClient.getSolrZooKeeper().closeCnxn(); } }
public void expireSession(final JettySolrRunner jetty) { CoreContainer cores = jetty.getCoreContainer(); if (cores != null) { monkeyLog("expire session for " + jetty.getLocalPort() + " !"); causeConnectionLoss(jetty); long sessionId = cores.getZkController().getZkClient() .getSolrZooKeeper().getSessionId(); zkServer.expire(sessionId); } }
public static void kill(JettySolrRunner jetty) throws Exception { CoreContainer cores = jetty.getCoreContainer(); if (cores != null) { if (cores.isZooKeeperAware()) { int zklocalport = ((InetSocketAddress) cores.getZkController() .getZkClient().getSolrZooKeeper().getSocketAddress()).getPort(); IpTables.blockPort(zklocalport); } } IpTables.blockPort(jetty.getLocalPort()); monkeyLog("kill jetty! " + jetty.getLocalPort()); jetty.stop(); stop(jetty); if (!jetty.isStopped()) { throw new RuntimeException("could not kill jetty"); } }
if (cores.isZooKeeperAware()) { int zklocalport = ((InetSocketAddress) cores.getZkController() .getZkClient().getSolrZooKeeper().getSocketAddress()).getPort(); IpTables.unblockPort(zklocalport);