@Override int runCmd(CommandLine cmdLine) throws Exception { boolean getter = cmdLine.hasOption("g"); boolean setter = cmdLine.hasOption("s"); if ((!getter && !setter) || (getter && setter)) { LOG.error("One and only one of -get and -set must be specified"); printUsage(); return 1; } ClientConfiguration adminConf = new ClientConfiguration(bkConf); BookKeeperAdmin admin = new BookKeeperAdmin(adminConf); try { if (getter) { int lostBookieRecoveryDelay = admin.getLostBookieRecoveryDelay(); LOG.info("LostBookieRecoveryDelay value in ZK: {}", String.valueOf(lostBookieRecoveryDelay)); } else { int lostBookieRecoveryDelay = Integer.parseInt(cmdLine.getOptionValue("set")); admin.setLostBookieRecoveryDelay(lostBookieRecoveryDelay); LOG.info("Successfully set LostBookieRecoveryDelay value in ZK: {}", String.valueOf(lostBookieRecoveryDelay)); } } finally { if (admin != null) { admin.close(); } } return 0; } }
int delaySeconds = bka.getLostBookieRecoveryDelay(); response.setCode(HttpServer.StatusCode.OK); response.setBody("lostBookieRecoveryDelay value: " + delaySeconds);