Example usage for org.apache.zookeeper WatchedEvent getPath

List of usage examples for org.apache.zookeeper WatchedEvent getPath

Introduction

In this page you can find the example usage for org.apache.zookeeper WatchedEvent getPath.

Prototype

public String getPath() 

Source Link

Usage

From source file:com.navercorp.nbasearc.confmaster.server.watcher.WatchEventHandlerPmRoot.java

License:Apache License

@Override
public void onChildEvent(WatchedEvent event) throws MgmtZooKeeperException, NoNodeException {
    if (LeaderState.isLeader()) {
        return;//w w w  .  j a  v a 2s  . c o m
    } else {
        registerBoth(event.getPath());

        // Delete
        List<String> deleted = getDeletedChild(event.getPath(), pmImo.getAll());
        for (String pmName : deleted) {
            pmImo.delete(PathUtil.pmPath(pmName));
        }

        // Created
        List<String> created = getCreatedChild(event.getPath(), pmImo.getAll());
        for (String pmName : created) {
            pmImo.load(pmName);
        }
    }
}

From source file:com.navercorp.nbasearc.confmaster.server.watcher.WatchEventHandlerRs.java

License:Apache License

@Override
public void onChildEvent(WatchedEvent event) throws MgmtZooKeeperException {
    registerBoth(event.getPath());

    RedisServer rs = rsImo.getByPath(event.getPath());

    if (rs.getData().getHB().equals(Constant.HB_MONITOR_YES)) {
        rs.getHbc().urgent();//from w w w  . ja  v a  2  s .c o  m
    }

    workflowExecutor.perform(FAILOVER_COMMON, rs);
}

From source file:com.navercorp.nbasearc.confmaster.server.watcher.WatchEventHandlerRs.java

License:Apache License

@Override
public void onChangedEvent(WatchedEvent event) throws MgmtZooKeeperException {
    registerBoth(event.getPath());

    RedisServer rs = rsImo.getByPath(event.getPath());
    if (null == rs) {
        // this znode already removed.
        return;/*  www.  j av  a2s .c  o m*/
    }

    if (LeaderState.isFollower()) {
        zookeeper.reflectZkIntoMemory(rs);
    }

    try {
        rs.updateHBRef();
        if (rs.getData().getHB().equals(Constant.HB_MONITOR_YES)) {
            rs.getHbc().urgent();
        }
    } catch (Exception e) {
        Logger.error("failed while change rs. {} {}", event.getPath(), event, e);
    }
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void processChildrenOrDataChangedEvent(WatchedEvent event) {
    Level logLevel = INFO;//w w w  .j  a v  a  2 s.c  o  m

    try {
        PathUtil.WatchTarget wt = PathUtil.getWatchType(event.getPath());
        if (wt == null) {
            return;
        }

        lock(wt, event);

        switch (event.getType()) {
        case NodeDataChanged:
            processChangedEvent(wt, event);
            break;
        case NodeChildrenChanged:
            processChildEvent(wt, event);
            break;
        default:
            break;
        }
    } catch (Exception e) {
        Logger.error("Handle watch event fail. {} {}", event.getPath(), event, e);

        logLevel = DEBUG;
    } finally {
        unlock();
    }

    Logger.flush(logLevel);
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void onChangedEventCluster(PathUtil.WatchTarget wt, WatchedEvent event)
        throws MgmtZooKeeperException, NoNodeException {
    if (LeaderState.isLeader()) {
        return;//from ww w .j  ava  2  s  .co  m
    } else {
        zk.registerChangedEventWatcher(event.getPath());

        Cluster cluster = (Cluster) container.get(event.getPath());
        if (null == cluster) {
            // this znode already removed.
            return;
        }

        cluster.setPersistentData(zk.getData(cluster.getPath(), null));

        cluster.propagateModeToHeartbeatSession();
    }
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void onChildEventClusterRoot(PathUtil.WatchTarget wt, WatchedEvent event)
        throws MgmtZooKeeperException, NoNodeException {
    if (LeaderState.isLeader()) {
        return;/* w w w . ja va2 s  . c om*/
    } else {
        zk.registerChildEventWatcher(event.getPath());

        // Delete
        List<String> deleted = getDeletedChildren(event.getPath(), container.getAllCluster());
        for (String clusterName : deleted) {
            container.delete(PathUtil.clusterPath(clusterName));
        }

        // Created
        List<String> created = getCreatedChildren(event.getPath(), container.getAllCluster());
        for (String clusterName : created) {
            // TDOO : eliminate null
            Cluster.loadClusterFromZooKeeper(context, clusterName);
        }
    }
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void onChildEventFd(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException {
    zk.registerChildEventWatcher(event.getPath());

    workflowExecutor.perform(TOTAL_INSPECTION);
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void onChildEventGw(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException {
    zk.registerChildEventWatcher(event.getPath());

    Gateway gw = (Gateway) container.get(event.getPath());

    if (gw.getHeartbeat().equals(Constant.HB_MONITOR_YES)) {
        gw.turnOnUrgentHeartbeat();//from w ww  .ja va  2 s.c  o m
    }

    workflowExecutor.perform(COMMON_STATE_DECISION, gw);
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void onChangedEventGw(PathUtil.WatchTarget wt, WatchedEvent event)
        throws MgmtZooKeeperException, NoNodeException {
    zk.registerChangedEventWatcher(event.getPath());

    Gateway gw = (Gateway) container.get(event.getPath());
    if (null == gw) {
        // this znode already removed.
        return;// ww  w  .java 2  s. c o  m
    }

    Cluster cluster = (Cluster) container.getCluster(PathUtil.getClusterNameFromPath(event.getPath()));
    if (null == cluster) {
        // this znode already removed.
        return;
    }

    if (LeaderState.isFollower()) {
        Stat stat = new Stat();
        gw.setPersistentData(zk.getData(gw.getPath(), stat));
        gw.setZNodeVersion(stat.getVersion());
    }

    try {
        gw.propagateStateToHeartbeatSession(cluster.getMode());
        if (gw.getHeartbeat().equals(Constant.HB_MONITOR_YES)) {
            gw.turnOnUrgentHeartbeat();
        }
    } catch (Exception e) {
        Logger.error("Change gateway fail. {}", gw, e);
    }
}

From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java

License:Apache License

public void onChildEventGwRoot(PathUtil.WatchTarget wt, WatchedEvent event)
        throws NoNodeException, MgmtZooKeeperException {
    if (LeaderState.isLeader()) {
        return;/* w w  w.  ja  v  a  2s .c  o m*/
    } else {
        zk.registerChildEventWatcher(event.getPath());

        // Delete
        List<String> deleted = getDeletedChildren(event.getPath(), container.getGwList(wt.clusterName));
        for (String gwName : deleted) {
            container.delete(PathUtil.gwPath(gwName, wt.clusterName));
        }

        // Created
        List<String> created = getCreatedChildren(event.getPath(), container.getGwList(wt.clusterName));
        for (String gwName : created) {
            Stat stat = new Stat();
            String gwPath = PathUtil.gwPath(gwName, wt.clusterName);
            byte[] data = zk.getData(gwPath, stat, true);
            Gateway gw = new Gateway(context, wt.clusterName, gwName, data, stat.getVersion());
            zk.registerChildEventWatcher(gwPath);
            container.put(gw.getPath(), gw);
        }
    }
}