List of usage examples for org.apache.zookeeper WatchedEvent getPath
public String getPath()
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChangedEventPg(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException { if (LeaderState.isLeader()) { return;/*from ww w. j a v a2 s . c o m*/ } else { zk.registerChangedEventWatcher(event.getPath()); PartitionGroup pg = (PartitionGroup) container.get(event.getPath()); if (null == pg) { // this znode already removed. return; } try { pg.setPersistentData(zk.getData(pg.getPath(), null)); } catch (NoNodeException e) { throw new MgmtZooKeeperException(e); } } }
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChildEventPgRoot(PathUtil.WatchTarget wt, WatchedEvent event) throws NoNodeException, MgmtZooKeeperException { if (LeaderState.isLeader()) { return;//from w w w . j av a2s . c o m } else { zk.registerChildEventWatcher(event.getPath()); // Delete List<String> deleted = getDeletedChildren(event.getPath(), container.getPgList(wt.clusterName)); for (String pgName : deleted) { container.delete(PathUtil.pgPath(pgName, wt.clusterName)); } // Created List<String> created = getCreatedChildren(event.getPath(), container.getPgList(wt.clusterName)); for (String pgName : created) { final String pgPath = PathUtil.pgPath(pgName, wt.clusterName); byte[] data = zk.getData(pgPath, null, true); PartitionGroup pg = new PartitionGroup(context, pgPath, pgName, wt.clusterName, data); zk.registerChildEventWatcher(pgPath); container.put(pg.getPath(), pg); } } }
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChildEventPgs(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException { zk.registerChildEventWatcher(event.getPath()); PartitionGroupServer pgs = (PartitionGroupServer) container.get(event.getPath()); if (!event.getPath().equals(pgs.getPath())) { Logger.error("PATH INCONSISTENCY"); return;//from w w w.jav a 2s . c om } if (pgs.getHeartbeat().equals(Constant.HB_MONITOR_YES)) { pgs.turnOnUrgentHeartbeat(); } workflowExecutor.perform(PGS_STATE_DECISION, pgs); }
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChangedEventPgs(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException { zk.registerChangedEventWatcher(event.getPath()); PartitionGroupServer pgs = (PartitionGroupServer) container.get(event.getPath()); if (null == pgs) { // this znode already removed. return;/*from ww w . j a v a2 s.c o m*/ } if (LeaderState.isFollower()) { Stat stat = new Stat(); try { byte[] d = zk.getData(pgs.getPath(), stat); pgs.setPersistentData(d); pgs.setZNodeVersion(stat.getVersion()); } catch (NoNodeException e) { throw new MgmtZooKeeperException(e); } } try { pgs.propagateStateToHeartbeatSession(); if (pgs.getHeartbeat().equals(Constant.HB_MONITOR_YES)) { pgs.turnOnUrgentHeartbeat(); } } catch (Exception e) { Logger.error("Change pgs fail. {}", pgs, e); } }
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChildEventPgsRoot(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException { if (LeaderState.isLeader()) { return;/*from w ww . j a va 2s . com*/ } else { zk.registerChildEventWatcher(event.getPath()); // Delete List<String> deleted = getDeletedChildren(event.getPath(), container.getPgsList(wt.clusterName)); for (String pgsName : deleted) { container.delete(PathUtil.pgsPath(pgsName, wt.clusterName)); container.delete(PathUtil.rsPath(pgsName, wt.clusterName)); } // Created List<String> created = getCreatedChildren(event.getPath(), container.getPgsList(wt.clusterName)); for (String pgsName : created) { try { Stat stat = new Stat(); String path = PathUtil.pgsPath(pgsName, wt.clusterName); byte[] d = context.getBean(ZooKeeperHolder.class).getData(path, stat, true); PartitionGroupServer pgs = new PartitionGroupServer(context, d, wt.clusterName, pgsName, stat.getVersion()); zk.registerChildEventWatcher(path); container.put(pgs.getPath(), pgs); String rsPath = PathUtil.rsPath(pgsName, wt.clusterName); d = zk.getData(rsPath, stat, true); RedisServer rs = new RedisServer(context, d, wt.clusterName, pgsName, pgs.getPgId(), stat.getVersion()); zk.registerChildEventWatcher(rsPath); container.put(rs.getPath(), rs); } catch (Exception e) { Logger.error("Load pgs fail. cluster:{}/pgs:{}", wt.clusterName, pgsName, e); } } } }
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChildEventRs(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException { zk.registerChildEventWatcher(event.getPath()); RedisServer rs = (RedisServer) container.get(event.getPath()); if (rs.getHeartbeat().equals(Constant.HB_MONITOR_YES)) { rs.turnOnUrgentHeartbeat();//from w ww.j av a2s . c o m } workflowExecutor.perform(COMMON_STATE_DECISION, rs); }
From source file:com.navercorp.nbasearc.confmaster.server.WatchEventHandler.java
License:Apache License
public void onChangedEventRs(PathUtil.WatchTarget wt, WatchedEvent event) throws MgmtZooKeeperException { zk.registerChangedEventWatcher(event.getPath()); RedisServer rs = (RedisServer) container.get(event.getPath()); if (null == rs) { // this znode already removed. return;/*from w w w . ja va2s . c o m*/ } if (LeaderState.isFollower()) { Stat stat = new Stat(); try { byte[] d = zk.getData(rs.getPath(), stat); rs.setPersistentData(d); rs.setZNodeVersion(stat.getVersion()); } catch (NoNodeException e) { throw new MgmtZooKeeperException(e); } } try { rs.propagateStateToHeartbeatSession(); if (rs.getHeartbeat().equals(Constant.HB_MONITOR_YES)) { rs.turnOnUrgentHeartbeat(); } } catch (Exception e) { Logger.error("failed while change rs. {} {}", event.getPath(), event, e); } }
From source file:com.navercorp.pinpoint.flink.cluster.FlinkServerRegister.java
License:Apache License
@SuppressWarnings("deprecation") @Override//from w ww . ja va 2 s . c om public void process(WatchedEvent event) { logger.info("Handle Zookeeper Event({}) started.", event); KeeperState state = event.getState(); EventType eventType = event.getType(); String path = event.getPath(); // when this happens, ephemeral node disappears // reconnects automatically, and process gets notified for all events boolean result = false; if (ZookeeperUtils.isDisconnectedEvent(event)) { result = handleDisconnected(); if (state == KeeperState.Expired) { client.reconnectWhenSessionExpired(); } } else if (state == KeeperState.SyncConnected || state == KeeperState.NoSyncConnected) { if (eventType == EventType.None) { result = handleConnected(); } else if (eventType == EventType.NodeChildrenChanged) { logger.info("zookeeper Event occurs : NodeChildrenChanged event"); } else if (eventType == EventType.NodeDeleted) { logger.info("zookeeper Event occurs : NodeDeleted"); } else if (eventType == EventType.NodeDataChanged) { logger.info("zookeeper Event occurs : NodeDataChanged"); } } if (result) { logger.info("Handle Zookeeper Event({}) completed.", event); } else { logger.info("Handle Zookeeper Event({}) failed.", event); } }
From source file:com.navercorp.pinpoint.web.cluster.zookeeper.ZookeeperClusterManager.java
License:Apache License
@SuppressWarnings("deprecation") @Override//from w w w. jav a2 s . c o m public void process(WatchedEvent event) { synchronized (initializeLock) { // wait for client variable to be assigned. } logger.info("Zookeeper Event({}) occurred.", event); KeeperState state = event.getState(); EventType eventType = event.getType(); String path = event.getPath(); // when this happens, ephemeral node disappears // reconnects automatically, and process gets notified for all events boolean result = false; if (ZookeeperUtils.isDisconnectedEvent(event)) { result = handleDisconnected(); if (state == KeeperState.Expired) { client.reconnectWhenSessionExpired(); } } else if (state == KeeperState.SyncConnected || state == KeeperState.NoSyncConnected) { if (eventType == EventType.None) { result = handleConnected(); } else if (eventType == EventType.NodeChildrenChanged) { result = handleNodeChildrenChanged(path); } else if (eventType == EventType.NodeDeleted) { result = handleNodeDeleted(path); } else if (eventType == EventType.NodeDataChanged) { result = handleNodeDataChanged(path); } } if (result) { logger.info("Zookeeper Event({}) succeeded.", event); } else { logger.info("Zookeeper Event({}) failed.", event); } }
From source file:com.navercorp.redis.cluster.gateway.NodeWatcher.java
License:Apache License
/** * @param event// w ww .j a v a 2 s . co m * @see org.apache.zookeeper.Watcher#process(org.apache.zookeeper.WatchedEvent) */ public void process(WatchedEvent event) { log.debug("[NodeWatcher] Zookeeper watched"); log.info("[NodeWatcher] Event {type=" + event.getType() + ", state=" + event.getState() + ", path=" + event.getPath() + "}"); if (event.getType() == Event.EventType.None) { switch (event.getState()) { case SyncConnected: log.debug("[NodeWatcher] SyncConnected"); this.connLatcher.countDown(); break; default: } } else if (event.getType() == Event.EventType.NodeChildrenChanged) { log.debug("[NodeWatcher] NodeChildrenChanged"); reloadGatewaylist(); reloadGatewayAffinity(); } else if (event.getType() == Event.EventType.NodeDataChanged) { log.debug("[NodeWatcher] NodeDataChanged"); reloadGatewayAffinity(); } else if (event.getType() == Event.EventType.NodeDeleted) { log.debug("[NodeWatcher] NodeDeleted"); } else if (event.getType() == Event.EventType.NodeCreated) { log.debug("[NodeWatcher] NodeCreated"); } }