List of usage examples for org.apache.zookeeper KeeperException code
Code code
To view the source code for org.apache.zookeeper KeeperException code.
Click Source Link
From source file:com.twitter.distributedlog.zk.TestZKVersionedSetOp.java
License:Apache License
@Test(timeout = 60000) public void testAbortOpResult() throws Exception { final AtomicReference<Throwable> exception = new AtomicReference<Throwable>(); final CountDownLatch latch = new CountDownLatch(1); ZKVersionedSetOp versionedSetOp = new ZKVersionedSetOp(mock(Op.class), new Transaction.OpListener<Version>() { @Override//from w w w. j a v a 2 s .c o m public void onCommit(Version r) { // no-op } @Override public void onAbort(Throwable t) { exception.set(t); latch.countDown(); } }); KeeperException ke = KeeperException.create(KeeperException.Code.SESSIONEXPIRED); OpResult opResult = new OpResult.ErrorResult(KeeperException.Code.NONODE.intValue()); versionedSetOp.abortOpResult(ke, opResult); latch.await(); assertTrue(exception.get() instanceof KeeperException.NoNodeException); }
From source file:com.twitter.distributedlog.zk.ZKTransaction.java
License:Apache License
@Override public void processResult(int rc, String path, Object ctx, List<OpResult> results) { if (KeeperException.Code.OK.intValue() == rc) { // transaction succeed for (int i = 0; i < ops.size(); i++) { ops.get(i).commitOpResult(results.get(i)); }/*from w ww . j a va 2 s. c o m*/ FutureUtils.setValue(result, null); } else { KeeperException ke = KeeperException.create(KeeperException.Code.get(rc)); for (int i = 0; i < ops.size(); i++) { ops.get(i).abortOpResult(ke, null != results ? results.get(i) : null); } FutureUtils.setException(result, ke); } }
From source file:com.twitter.distributedlog.zk.ZKVersionedSetOp.java
License:Apache License
@Override protected void abortOpResult(Throwable t, @Nullable OpResult opResult) { Throwable cause;/*from w w w . j a va2 s. c om*/ if (null == opResult) { cause = t; } else { assert (opResult instanceof OpResult.ErrorResult); OpResult.ErrorResult errorResult = (OpResult.ErrorResult) opResult; if (KeeperException.Code.OK.intValue() == errorResult.getErr()) { cause = t; } else { cause = KeeperException.create(KeeperException.Code.get(errorResult.getErr())); } } listener.onAbort(cause); }
From source file:com.twitter.distributedlog.ZooKeeperClientUtils.java
License:Apache License
/** * Expire given zookeeper client's session. * * @param zkc/*from w w w. ja v a 2 s .c o m*/ * zookeeper client * @param zkServers * zookeeper servers * @param timeout * timeout * @throws Exception */ public static void expireSession(ZooKeeperClient zkc, String zkServers, int timeout) throws Exception { final CountDownLatch expireLatch = new CountDownLatch(1); final CountDownLatch latch = new CountDownLatch(1); ZooKeeper oldZk = zkc.get(); oldZk.exists("/", new Watcher() { @Override public void process(WatchedEvent event) { logger.debug("Receive event : {}", event); if (event.getType() == Event.EventType.None && event.getState() == Event.KeeperState.Expired) { expireLatch.countDown(); } } }); ZooKeeper newZk = new ZooKeeper(zkServers, timeout, new Watcher() { @Override public void process(WatchedEvent event) { if (Event.EventType.None == event.getType() && Event.KeeperState.SyncConnected == event.getState()) { latch.countDown(); } } }, oldZk.getSessionId(), oldZk.getSessionPasswd()); if (!latch.await(timeout, TimeUnit.MILLISECONDS)) { throw KeeperException.create(KeeperException.Code.CONNECTIONLOSS); } newZk.close(); boolean done = false; Stopwatch expireWait = Stopwatch.createStarted(); while (!done && expireWait.elapsed(TimeUnit.MILLISECONDS) < timeout * 2) { try { zkc.get().exists("/", false); done = true; } catch (KeeperException ke) { done = (ke.code() == KeeperException.Code.SESSIONEXPIRED); } } assertTrue("Client should receive session expired event.", expireLatch.await(timeout, TimeUnit.MILLISECONDS)); }
From source file:com.vmware.photon.controller.common.zookeeper.ServiceNodeMembership.java
License:Open Source License
/** * Creates a new membership node in Zookeeper and sets the provided future when creation is complete. * * @param leasePromise promise that gets fulfilled when node is created * @return a listenable future to get notified when the znode gets created * @throws Exception// w ww . j ava 2 s .c o m */ public synchronized ListenableFuture<Void> create(final SettableFuture<ServiceNode.Lease> leasePromise) throws Exception { logger.debug("Creating membership node for {}", membershipNode); final SettableFuture<Void> future = SettableFuture.create(); BackgroundCallback callback = new BackgroundCallback() { @Override public void processResult(CuratorFramework client, CuratorEvent event) throws Exception { if (event.getResultCode() == KeeperException.Code.OK.intValue()) { leasePromise.set(new ServiceNode.Lease() { @Override public ListenableFuture<Void> getExpirationFuture() { return expirationPromise; } }); future.set(null); } else { logger.error("Failed to create node {}: {}", membershipNode, event.getResultCode()); future.setException(KeeperException.create(KeeperException.Code.get(event.getResultCode()))); leasePromise .setException(KeeperException.create(KeeperException.Code.get(event.getResultCode()))); } } }; zkClient.create().creatingParentsIfNeeded().withMode(CreateMode.EPHEMERAL).inBackground(callback) .forPath(membershipNode, getSerializedAddress()); return future; }
From source file:com.vmware.photon.controller.common.zookeeper.ServiceNodeMembership.java
License:Open Source License
public synchronized void delete(final SettableFuture<Void> donePromise) throws Exception { logger.debug("Deleting membership node for {}", membershipNode); BackgroundCallback callback = new BackgroundCallback() { @Override/*from w ww.java 2 s . co m*/ public void processResult(CuratorFramework client, CuratorEvent event) throws Exception { if (event.getResultCode() == KeeperException.Code.OK.intValue()) { donePromise.set(VOID); logger.debug("Membership node deleted"); } else { logger.error("Error deleting the node {}: {}", membershipNode, event.getResultCode()); donePromise .setException(KeeperException.create(KeeperException.Code.get(event.getResultCode()))); } } }; zkClient.delete().guaranteed().inBackground(callback).forPath(membershipNode); }
From source file:com.vmware.photon.controller.deployer.deployengine.ZookeeperClient.java
License:Open Source License
private AsyncCallback.DataCallback getDataCallback(FutureCallback callback) { return new AsyncCallback.DataCallback() { @Override//from w w w . j a va 2 s . c om public void processResult(int rc, String path, Object ctx, byte[] data, Stat stat) { switch (KeeperException.Code.get(rc)) { case OK: logger.info("Zookeeper successfully reconfigured"); callback.onSuccess(null); break; default: logger.error("Zookeeper returned error code during reconfig" + KeeperException.Code.get(rc)); callback.onFailure(new RuntimeException("Failed to reconfigure zookeeper")); } } }; }
From source file:com.yahoo.pasc.paxos.Barrier.java
License:Open Source License
/** * Barrier constructor//from w ww. j a v a 2 s . com * * @param address * @param root * @param size * @throws IOException * @throws KeeperException */ public Barrier(ZooKeeper zk, String root, String name, int size) throws KeeperException, IOException { this.zk = zk; this.mutex = new Object(); this.root = root; this.size = size; this.name = name; try { zk.create(root, null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } catch (KeeperException e) { if (e.code().equals(Code.NODEEXISTS)) { //ignore } else { LOG.error("Keeper exception when instantiating barrier.", e); } } catch (InterruptedException e) { LOG.error("Interrupted exception", e); } }
From source file:com.yahoo.pasc.paxos.Barrier.java
License:Open Source License
/** * Join barrier/*from www . ja va 2 s . c om*/ * * @return * @throws KeeperException * @throws InterruptedException */ public boolean enter() throws KeeperException, InterruptedException { zk.create(root + "/" + name, null, Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL); int children = zk.getChildren(root, false).size(); if (children >= size) { try { zk.create(root + "/start", null, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } catch (KeeperException e) { if (e.code().equals(Code.NODEEXISTS)) { return true; } else throw e; } return true; } while (true) { synchronized (mutex) { Stat stat = zk.exists(root + "/start", this); if (stat != null) { return true; } mutex.wait(); } } }
From source file:com.yahoo.pasc.paxos.Barrier.java
License:Open Source License
/** * Wait until all reach barrier//from w w w .ja v a2 s.c o m * * @return * @throws KeeperException * @throws InterruptedException */ public boolean leave() throws KeeperException, InterruptedException { zk.delete(root + "/" + name, -1); while (true) { synchronized (mutex) { int children = zk.getChildren(root, this).size(); if (children == 1) { try { zk.delete(root + "/start", -1); } catch (KeeperException e) { if (e.code().equals(Code.NONODE)) { return true; } else throw e; } } else if (children == 0) { return true; } else { mutex.wait(); } } } }