List of usage examples for org.apache.zookeeper OpResult getType
public int getType()
From source file:com.navercorp.nbasearc.confmaster.repository.ZooKeeperHolder.java
License:Apache License
public void handleResultsOfMulti(List<OpResult> results) { if (null == results) { Logger.error("Multi operations of ZooKeeper result is null."); return;/*w w w . j av a 2 s . c om*/ } for (OpResult result : results) { switch (result.getType()) { case ZooDefs.OpCode.create: OpResult.CreateResult rc = (OpResult.CreateResult) result; Logger.debug("CreateResult. {}, path: {}", rc, rc.getPath()); break; case ZooDefs.OpCode.delete: OpResult.DeleteResult rd = (OpResult.DeleteResult) result; Logger.debug("DeleteResult. {} ", rd); break; case ZooDefs.OpCode.setData: OpResult.SetDataResult rsd = (OpResult.SetDataResult) result; Logger.debug("DeleteResult. " + rsd.toString()); break; case ZooDefs.OpCode.error: OpResult.ErrorResult rer = (OpResult.ErrorResult) result; Logger.debug("DeleteResult. {}, error: {}", rer, rer.getErr()); break; } Logger.debug(result.toString()); } }
From source file:com.navercorp.nbasearc.confmaster.server.workflow.CommonStateDecisionWorkflow.java
License:Apache License
private void chsnageStateGateway(HeartbeatTarget target, String newState) throws MgmtZNodeDoesNotExistException, MgmtZooKeeperException, MgmtZNodeAlreayExistsException { if (NodeType.GW != target.getNodeType()) { Logger.error("Incorrect type, it requires gateway, but {}", target); return;// w w w. ja v a 2 s . c om } Gateway gw = (Gateway) container.get(target.getPath()); boolean existInZookeeper = gwInfoNotifier.isGatewayExist(gw.getClusterName(), gw.getName()); List<Op> ops = new ArrayList<Op>(); if (newState.equals(Constant.SERVER_STATE_FAILURE)) { if (existInZookeeper) { gwInfoNotifier.addDeleteGatewayOp(ops, gw.getClusterName(), gw.getName()); } } else if (newState.equals(Constant.SERVER_STATE_NORMAL) && !existInZookeeper) { gwInfoNotifier.addCreateGatewayOp(ops, gw.getClusterName(), gw.getName(), gw.getPmIp(), gw.getPort()); } if (!ops.isEmpty()) { Gateway.GatewayData gwData = gw.clonePersistentData(); gwData.state = newState; MemoryObjectMapper mapper = new MemoryObjectMapper(); byte[] data = mapper.writeValueAsBytes(gwData); ops.add(Op.setData(gw.getPath(), data, -1)); List<OpResult> results = zk.multi(ops); for (OpResult result : results) { if (result.getType() == ZooDefs.OpCode.error) { OpResult.ErrorResult errRes = (OpResult.ErrorResult) result; if (errRes.getErr() != 0) { Logger.error("Change gateway state fail. {}, state: {}", gw, newState); } } } } gw.setState(newState, 0); Stat stat = zk.setData(gw.getPath(), gw.persistentDataToBytes(), -1); gw.setZNodeVersion(stat.getVersion()); }
From source file:com.navercorp.nbasearc.confmaster.server.workflow.FailoverCommonWorkflow.java
License:Apache License
private void chsnageStateGateway(HeartbeatTarget target, String newState) throws MgmtZNodeDoesNotExistException, MgmtZooKeeperException, MgmtZNodeAlreayExistsException { if (NodeType.GW != target.getNodeType()) { Logger.error("Incorrect type, it requires gateway, but {}", target); return;/*from ww w . j a va 2 s . c o m*/ } Gateway gw = gwImo.get(target.getName(), target.getClusterName()); boolean existInZookeeper = notificationDao.isGatewayExist(gw.getClusterName(), gw.getName()); List<Op> ops = new ArrayList<Op>(); if (newState.equals(Constant.SERVER_STATE_FAILURE)) { if (existInZookeeper) { notificationDao.addDeleteGatewayOp(ops, gw.getClusterName(), gw.getName()); } } else if (newState.equals(Constant.SERVER_STATE_NORMAL) && !existInZookeeper) { notificationDao.addCreateGatewayOp(ops, gw.getClusterName(), gw.getName(), gw.getData().getPmIp(), gw.getData().getPort()); } if (!ops.isEmpty()) { GatewayData gwData = (GatewayData) gw.getData().clone(); gwData.setState(newState); MemoryObjectMapper mapper = new MemoryObjectMapper(); byte[] data = mapper.writeValueAsBytes(gwData); ops.add(Op.setData(gw.getPath(), data, -1)); List<OpResult> results = zookeeper.multi(ops); for (OpResult result : results) { if (result.getType() == ZooDefs.OpCode.error) { OpResult.ErrorResult errRes = (OpResult.ErrorResult) result; if (errRes.getErr() != 0) { Logger.error("Change gateway state fail. {}, state: {}", gw, newState); } } } } gw.setState(newState, 0); gwDao.updateGw(gw); }
From source file:com.netflix.curator.framework.imps.CuratorTransactionImpl.java
License:Apache License
private List<OpResult> doOperation(AtomicBoolean firstTime) throws Exception { boolean localFirstTime = firstTime.getAndSet(false); if (!localFirstTime) { }//w w w . ja va 2s.c om List<OpResult> opResults = client.getZooKeeper().multi(transaction); if (opResults.size() > 0) { OpResult firstResult = opResults.get(0); if (firstResult.getType() == ZooDefs.OpCode.error) { OpResult.ErrorResult error = (OpResult.ErrorResult) firstResult; KeeperException.Code code = KeeperException.Code.get(error.getErr()); if (code == null) { code = KeeperException.Code.UNIMPLEMENTED; } throw KeeperException.create(code); } } return opResults; }
From source file:com.netflix.curator.framework.imps.CuratorTransactionImpl.java
License:Apache License
private CuratorTransactionResult makeCuratorResult(OpResult opResult, CuratorMultiTransactionRecord.TypeAndPath metadata) { String resultPath = null;//from ww w . j ava 2s .com Stat resultStat = null; switch (opResult.getType()) { default: { // NOP break; } case ZooDefs.OpCode.create: { OpResult.CreateResult createResult = (OpResult.CreateResult) opResult; resultPath = client.unfixForNamespace(createResult.getPath()); break; } case ZooDefs.OpCode.setData: { OpResult.SetDataResult setDataResult = (OpResult.SetDataResult) opResult; resultStat = setDataResult.getStat(); break; } } return new CuratorTransactionResult(metadata.type, metadata.forPath, resultPath, resultStat); }