Example usage for org.apache.zookeeper OpResult getType

List of usage examples for org.apache.zookeeper OpResult getType

Introduction

In this page you can find the example usage for org.apache.zookeeper OpResult getType.

Prototype

public int getType() 

Source Link

Document

Encodes the return type as from ZooDefs.OpCode.

Usage

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);
}