Example usage for org.apache.zookeeper WatchedEvent getState

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

Introduction

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

Prototype

public KeeperState getState() 

Source Link

Usage

From source file:org.linkedin.zookeeper.tracker.ZooKeeperTreeTracker.java

License:Apache License

private boolean handleEvent(WatchedEvent event) {
    if (_destroyed) {
        return false;
    }//from   w w  w. j ava 2  s. co  m

    switch (event.getState()) {
    case SyncConnected:
        return true;

    case Disconnected:
        return false;

    case Expired:
        return false;

    default:
        return false;
    }
}

From source file:org.loggo.client.ZooSocketAppender.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    switch (event.getState()) {
    case SyncConnected:
        LogLog.debug("Connected to zookeeper");
        connect();/*from w  w  w  .j  ava 2  s.  com*/
        break;
    default:
        LogLog.debug("Unexpected event: " + event);
    }
}

From source file:org.loggo.client.ZooUDPAppender.java

License:Apache License

@SuppressWarnings("deprecation")
@Override//from w  w w . j a  va  2s. co  m
public void process(WatchedEvent event) {
    switch (event.getState()) {
    case AuthFailed:
        LogLog.error("Unable to connect to zookeeper");
        break;
    case ConnectedReadOnly:
        break;
    case Disconnected:
    case Expired:
        LogLog.error("Zookeeper disconnected: " + event.getState());
        break;
    case SaslAuthenticated:
        LogLog.debug("Zookeeper event " + event.getState());
        break;
    case SyncConnected:
        LogLog.debug("Connected: fetching address");
        reconfigure();
        break;
    case NoSyncConnected:
    case Unknown:
    default:
        LogLog.error("Unexpected zookeeper event " + event.getState());
        break;
    }
}

From source file:org.midonet.api.zookeeper.ZookeeperConnWatcher.java

License:Apache License

@Override
synchronized public void process(WatchedEvent watchedEvent) {
    log.debug("ZookeeperConnWatcher.process: Entered with event {}", watchedEvent.getState());

    if (watchedEvent.getState() == Event.KeeperState.SyncConnected) {
        apiNsdbEvent.connect();/*from w  w  w .ja  v a  2 s. c o m*/
    } else if (watchedEvent.getState() == Event.KeeperState.Disconnected) {
        apiNsdbEvent.disconnect();
    }

    // The ZK client re-connects automatically. However, after it
    // successfully reconnects, if the session had expired, we need to
    // create a new session.
    else if (watchedEvent.getState() == Watcher.Event.KeeperState.Expired && conn != null) {
        log.info("Session expired, reconnecting to ZK with a new session");
        apiNsdbEvent.connExpire();
        try {
            conn.reopen();
        } catch (Exception e) {
            throw new RuntimeException("Zookeeper could not be " + "restarted", e);
        }
    }

    log.debug("ZookeeperConnWatcher.process: Exiting");
}

From source file:org.midonet.cluster.backend.zookeeper.SessionUnawareConnectionWatcher.java

License:Apache License

@Override
synchronized public void process(WatchedEvent watchedEvent) {
    log.debug("ZookeeperConnWatcher.process: Entered with event {}", watchedEvent.getState());

    // The ZK client re-connects automatically. However, after it
    // successfully reconnects, if the session had expired, we need to
    // create a new session.
    if (watchedEvent.getState() == Watcher.Event.KeeperState.Expired && conn != null) {
        log.info("Session expired, reconnecting to ZK with a new session");
        try {// w  ww  .j av a2  s .  com
            conn.reopen();
        } catch (Exception e) {
            throw new RuntimeException("Zookeeper could not be " + "restarted", e);
        }
    }

    log.debug("ZookeeperConnWatcher.process: Exiting");
}

From source file:org.midonet.cluster.backend.zookeeper.ZkConnection.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    synchronized (this) {
        if (connecting) {
            connecting = false;// w w w.  j  a v  a  2  s  .  c om
            if (event.getState() == KeeperState.SyncConnected)
                connected = true;
            notifyAll();
        }
    }
    if (null != watcher)
        watcher.process(event);
}

From source file:org.midonet.cluster.backend.zookeeper.ZookeeperConnectionWatcher.java

License:Apache License

@Override
public synchronized void process(WatchedEvent event) {
    if (event.getState() == Watcher.Event.KeeperState.Disconnected) {
        submitDisconnectCallbacks();/*  ww w .j  a va 2 s.c  om*/
    }

    if (event.getState() == Watcher.Event.KeeperState.SyncConnected) {
        if (conn != null) {
            if (sessionId == 0) {
                this.sessionId = conn.getZooKeeper().getSessionId();
            } else if (sessionId != conn.getZooKeeper().getSessionId()) {
                return;
            }
        } else {
            log.error("Got ZK connection event but ZkConnection "
                    + "has not been supplied, cannot track sessions");
        }

        submitReconnectCallbacks();
    }

    //TODO(abel) should this class process other Zookeeper events?
}

From source file:org.midonet.midolman.state.ZkDumper.java

License:Apache License

private static void setupZKConnection(final String host, final int port) throws Exception {
    int magic = 3000; // FIXME
    System.out.println("Connecting to ZooKeeper at " + host + ":" + port);
    zk = new ZooKeeper(host + ":" + port, magic, new Watcher() {
        @Override/*from  w ww .ja va2 s.c o m*/
        public synchronized void process(WatchedEvent event) {
            if (event.getState() == KeeperState.Disconnected) {
                System.err.println("Disconnected from ZooKeeper");
                System.exit(-1);
            } else if (event.getState() == KeeperState.SyncConnected) {
                System.out.println("Connected to ZooKeeper at " + host + ":" + port);
                available.release();
            } else if (event.getState() == KeeperState.Expired) {
                System.err.println("Session expired");
                System.exit(-1);
            }
        }
    });
    System.out.println("In progress to ZooKeeper at " + host + ":" + port);

    available.acquire();
}

From source file:org.midonet.midolman.state.ZookeeperConnectionWatcher.java

License:Apache License

@Override
public synchronized void process(WatchedEvent event) {
    if (event.getState() == Watcher.Event.KeeperState.Disconnected) {
        log.warn("KeeperState is Disconnected, will shutdown in {} "
                + "milliseconds if the connection is not restored.", config.getZkGraceTime());
        nsdbEvent.disconnect();//from   www.  ja  va  2  s  .  co m

        disconnectHandle = reactorLoop.schedule(new Runnable() {
            @Override
            public void run() {
                log.error("have been disconnected for {} milliseconds, " + "so exiting",
                        config.getZkGraceTime());
                nsdbEvent.connExpire();
                System.exit(7453);
            }
        }, config.getZkGraceTime(), TimeUnit.MILLISECONDS);
        submitDisconnectCallbacks();
    }

    if (event.getState() == Watcher.Event.KeeperState.SyncConnected) {
        if (conn != null) {
            if (sessionId == 0) {
                this.sessionId = conn.getZooKeeper().getSessionId();
            } else if (sessionId != conn.getZooKeeper().getSessionId()) {
                log.warn(
                        "Zookeeper connection restored to a new session " + "id (old={} new={}), shutting down",
                        sessionId, conn.getZooKeeper().getSessionId());
                System.exit(-1);
            }

            log.info("KeeperState is SyncConnected, SessionId={}", conn.getZooKeeper().getSessionId());
            nsdbEvent.connect();
        } else {
            log.error("Got ZK connection event but ZkConnection "
                    + "has not been supplied, cannot track sessions");
        }

        submitReconnectCallbacks();

        if (disconnectHandle != null) {
            log.info("canceling shutdown");
            disconnectHandle.cancel(true);
            disconnectHandle = null;
        }
    }

    if (event.getState() == Watcher.Event.KeeperState.Expired) {
        log.warn("KeeperState is Expired, shutdown now");
        nsdbEvent.connExpire();
        System.exit(-1);
    }

    //TODO(abel) should this class process other Zookeeper events?
}

From source file:org.neo4j.kernel.ha.zookeeper.ClusterManager.java

License:Open Source License

public void process(WatchedEvent event) {
    // System.out.println( "Got event: " + event );
    String path = event.getPath();
    if (path == null) {
        state = event.getState();
    }//from  w ww  . java2s .c o  m
}