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.apache.accumulo.server.security.delegation.ZooAuthenticationKeyWatcher.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    if (EventType.None == event.getType()) {
        switch (event.getState()) {
        case Disconnected: // Intentional fall through of case
        case Expired: // ZooReader is handling the Expiration of the original ZooKeeper object for us
            log.debug("ZooKeeper connection disconnected, clearing secret manager");
            secretManager.removeAllKeys();
            break;
        case SyncConnected:
            log.debug("ZooKeeper reconnected, updating secret manager");
            try {
                updateAuthKeys();//w w w. j  a  va2 s  .  co m
            } catch (KeeperException | InterruptedException e) {
                log.error("Failed to update secret manager after ZooKeeper reconnect");
            }
            break;
        default:
            log.warn("Unhandled: " + event);
        }

        // Nothing more to do for EventType.None
        return;
    }

    String path = event.getPath();
    if (null == path) {
        return;
    }

    if (!path.startsWith(baseNode)) {
        log.info("Ignoring event for path: {}", path);
        return;
    }

    try {
        if (path.equals(baseNode)) {
            processBaseNode(event);
        } else {
            processChildNode(event);
        }
    } catch (KeeperException | InterruptedException e) {
        log.error("Failed to communicate with ZooKeeper", e);
    }
}

From source file:org.apache.accumulo.server.trace.TraceServer.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    log.debug("event " + event.getPath() + " " + event.getType() + " " + event.getState());
    if (event.getState() == KeeperState.Expired) {
        log.warn("Trace server lost zookeeper registration at " + event.getPath());
        server.stop();/*w w w . j  a  v  a 2s. c o m*/
    } else if (event.getType() == EventType.NodeDeleted) {
        log.warn("Trace server zookeeper entry lost " + event.getPath());
        server.stop();
    }
    if (event.getPath() != null) {
        try {
            if (ZooReaderWriter.getInstance().exists(event.getPath(), this))
                return;
        } catch (Exception ex) {
            log.error(ex, ex);
        }
        log.warn("Trace server unable to reset watch on zookeeper registration");
        server.stop();
    }
}

From source file:org.apache.accumulo.tracer.TraceServer.java

License:Apache License

@Override
public void process(WatchedEvent event) {
    log.debug("event " + event.getPath() + " " + event.getType() + " " + event.getState());
    if (event.getState() == KeeperState.Expired) {
        log.warn("Trace server lost zookeeper registration at " + event.getPath());
        server.stop();/*  ww w .j a  va 2s .c  om*/
    } else if (event.getType() == EventType.NodeDeleted) {
        log.warn("Trace server zookeeper entry lost " + event.getPath());
        server.stop();
    }
    if (event.getPath() != null) {
        try {
            if (ZooReaderWriter.getInstance().exists(event.getPath(), this))
                return;
        } catch (Exception ex) {
            log.error("{}", ex.getMessage(), ex);
        }
        log.warn("Trace server unable to reset watch on zookeeper registration");
        server.stop();
    }
}

From source file:org.apache.activemq.leveldb.replicated.groups.ZKClient.java

License:Apache License

public void process(WatchedEvent event) {
    if (event.getState() != null) {
        LOG.debug("event: {}", event.getState());
        synchronized (_lock) {
            switch (event.getState()) {
            case SyncConnected:
                changeState(State.CONNECTED);
                break;

            case Disconnected:
                if (_state != State.NONE) {
                    changeState(State.RECONNECTING);
                }//ww w .  j av  a  2 s. co m
                break;

            case Expired:
                // when expired, the zookeeper object is invalid and we need to recreate a new one
                _zk = null;
                LOG.warn("Expiration detected: trying to restart...");
                tryConnect();
                break;
            default:
                LOG.warn("unprocessed event state: {}", event.getState());
            }
        }
    }
}

From source file:org.apache.airavata.api.server.AiravataAPIServer.java

License:Apache License

@Override
synchronized public void process(WatchedEvent watchedEvent) {
    synchronized (mutex) {
        Event.KeeperState state = watchedEvent.getState();
        logger.info(state.name());/*  w  w  w.j ava  2  s.  c  om*/
        if (state == Event.KeeperState.SyncConnected) {
            mutex.notify();
        } else if (state == Event.KeeperState.Expired || state == Event.KeeperState.Disconnected) {
            try {
                mutex = -1;
                zk = new ZooKeeper(AiravataZKUtils.getZKhostPort(), 6000, this);
                synchronized (mutex) {
                    mutex.wait(); // waiting for the syncConnected event
                }
                storeServerConfig();
            } catch (IOException e) {
                logger.error("Error while synchronizing with zookeeper", e);
            } catch (ApplicationSettingsException e) {
                logger.error("Error while synchronizing with zookeeper", e);
            } catch (InterruptedException e) {
                logger.error("Error while synchronizing with zookeeper", e);
            } catch (AiravataSystemException e) {
                logger.error("Error while synchronizing with zookeeper", e);
            }
        }
    }
}

From source file:org.apache.airavata.gfac.core.monitor.GfacInternalStatusUpdator.java

License:Apache License

public void process(WatchedEvent watchedEvent) {
    synchronized (mutex) {
        Event.KeeperState state = watchedEvent.getState();
        if (state == Event.KeeperState.SyncConnected) {
            mutex.notify();//from www .  ja v a 2 s.  c o m
        }
    }
}

From source file:org.apache.airavata.gfac.impl.GfacInternalStatusUpdator.java

License:Apache License

public void process(WatchedEvent watchedEvent) {
    logger.info(watchedEvent.getPath());
    synchronized (mutex) {
        Event.KeeperState state = watchedEvent.getState();
        if (state == Event.KeeperState.SyncConnected) {
            mutex.notify();//from  w  w w.j av a2 s  .co  m
        }
    }
}

From source file:org.apache.airavata.orchestrator.core.impl.GFACPassiveJobSubmitter.java

License:Apache License

synchronized public void process(WatchedEvent event) {
    logger.info(getClass().getName() + event.getPath());
    logger.info(getClass().getName() + event.getType());
    synchronized (mutex) {
        switch (event.getState()) {
        case SyncConnected:
            mutex.notify();//from   w  w  w . jav  a  2s  .  c  o m
        }
        switch (event.getType()) {
        case NodeCreated:
            mutex.notify();
            break;
        }
    }
}

From source file:org.apache.airavata.orchestrator.core.impl.GFACRPCJobSubmitter.java

License:Apache License

synchronized public void process(WatchedEvent event) {
    synchronized (mutex) {
        switch (event.getState()) {
        case SyncConnected:
            mutex.notify();/* w ww .j a va  2s .co  m*/
        }
        switch (event.getType()) {
        case NodeCreated:
            mutex.notify();
            break;
        }
    }
}

From source file:org.apache.airavata.orchestrator.util.OrchestratorRecoveryHandler.java

License:Apache License

synchronized public void process(WatchedEvent watchedEvent) {
    synchronized (mutex) {
        Event.KeeperState state = watchedEvent.getState();
        switch (state) {
        case SyncConnected:
            mutex.notify();/*from  w  ww .  j a  v a 2  s  .  c  o  m*/
            break;
        }
    }
}