org.apache.zookeeper.ZooKeeper.delete()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(8.6k)|赞(0)|评价(0)|浏览(177)

本文整理了Java中org.apache.zookeeper.ZooKeeper.delete()方法的一些代码示例,展示了ZooKeeper.delete()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeper.delete()方法的具体详情如下:
包路径:org.apache.zookeeper.ZooKeeper
类名称:ZooKeeper
方法名:delete

ZooKeeper.delete介绍

[英]Delete the node with the given path. The call will succeed if such a node exists, and the given version matches the node's version (if the given version is -1, it matches any node's versions).

A KeeperException with error code KeeperException.NoNode will be thrown if the nodes does not exist.

A KeeperException with error code KeeperException.BadVersion will be thrown if the given version does not match the node's version.

A KeeperException with error code KeeperException.NotEmpty will be thrown if the node has children.

This operation, if successful, will trigger all the watches on the node of the given path left by exists API calls, and the watches on the parent node left by getChildren API calls.
[中]删除具有给定路径的节点。如果存在这样一个节点,并且给定的版本与该节点的版本匹配(如果给定的版本为-1,则与任何节点的版本匹配),则调用将成功。
错误代码为KeeperException的KeeperException。如果节点不存在,将抛出NoNode。
错误代码为KeeperException的KeeperException。如果给定的版本与节点的版本不匹配,将抛出BadVersion。
错误代码为KeeperException的KeeperException。如果节点有子节点,将抛出NotEmpty。
如果此操作成功,将触发exists API调用留下的给定路径节点上的所有监视,以及getChildren API调用留下的父节点上的监视。

代码示例

代码示例来源:origin: apache/zookeeper

public boolean execute() throws KeeperException,
    InterruptedException {
    zookeeper.delete(id, -1);   
    return Boolean.TRUE;
  }
};

代码示例来源:origin: knightliao/disconf

public boolean execute() throws KeeperException, InterruptedException {
    zookeeper.delete(id, -1);
    return Boolean.TRUE;
  }
};

代码示例来源:origin: apache/ignite

/** {@inheritDoc} */
@Override public void execute() {
  zk.delete(path, -1, this, null);
}

代码示例来源:origin: apache/zookeeper

@Override
  public void nodeSerialized(String path) {
    try {
      zkClient.delete(child, -1);
      LOG.info("Deleted the child node after the parent is serialized");
    } catch (Exception e) {
      LOG.error("Error when deleting node {}", e);
    }
  }
});

代码示例来源:origin: yu199195/hmily

@Override
public int remove(final String id) {
  try {
    zooKeeper.delete(buildRootPath(id), -1);
    return ROWS;
  } catch (Exception e) {
    throw new HmilyRuntimeException(e);
  }
}

代码示例来源:origin: apache/hbase

private void deleteNode(String path, Long retries) {
 SplitLogCounters.tot_mgr_node_delete_queued.increment();
 // Once a task znode is ready for delete, that is it is in the TASK_DONE
 // state, then no one should be writing to it anymore. That is no one
 // will be updating the znode version any more.
 this.watcher.getRecoverableZooKeeper().getZooKeeper()
   .delete(path, -1, new DeleteAsyncCallback(), retries);
}

代码示例来源:origin: apache/zookeeper

public void delete() {
  zk.delete(path, version, this, toString());
}

代码示例来源:origin: apache/zookeeper

@Test
public void testDeleteWithChildren() throws Exception {
  ZooKeeper zk = createClient();
  zk.create("/parent", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  zk.create("/parent/child", new byte[0], Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  try {
    zk.delete("/parent", -1);
    Assert.fail("Should have received a not equals message");
  } catch (KeeperException e) {
    Assert.assertEquals(KeeperException.Code.NOTEMPTY, e.code());
  }
  zk.delete("/parent/child", -1);
  zk.delete("/parent", -1);
  zk.close();
}

代码示例来源:origin: apache/zookeeper

@Test
  public void testSuperIsSuper() throws Exception {
    ZooKeeper zk = createClient();
    try {
      zk.create("/digest_read", null, Arrays.asList(new ACL(Perms.READ, otherDigestUser)), CreateMode.PERSISTENT);
      zk.create("/digest_read/sub", null, Arrays.asList(new ACL(Perms.READ, otherDigestUser)), CreateMode.PERSISTENT);
      zk.create("/sasl_read", null, Arrays.asList(new ACL(Perms.READ, otherSaslUser)), CreateMode.PERSISTENT);
      zk.create("/sasl_read/sub", null, Arrays.asList(new ACL(Perms.READ, otherSaslUser)), CreateMode.PERSISTENT);
      zk.delete("/digest_read/sub", -1);
      zk.delete("/digest_read", -1);
      zk.delete("/sasl_read/sub", -1);
      zk.delete("/sasl_read", -1);
      //If the test failes it will most likely fail with a NoAuth exception before it ever gets to this assertion
      Assert.assertEquals(authFailed.get(), 0);
    } finally {
      zk.close();
    }
  }
}

代码示例来源:origin: apache/zookeeper

public void verifyDeleteFailure_NoNode() {
  rc = Code.NONODE;
  zk.delete(path, version, this, toString());
  verify();
}

代码示例来源:origin: apache/pulsar

@Override
public void removeManagedLedger(String ledgerName, MetaStoreCallback<Void> callback) {
  log.info("[{}] Remove ManagedLedger", ledgerName);
  zk.delete(prefix + ledgerName, -1, (rc, path, ctx) -> executor.executeOrdered(ledgerName, safeRun(() -> {
    if (log.isDebugEnabled()) {
      log.debug("[{}] zk delete done. rc={}", ledgerName, Code.get(rc));
    }
    if (rc == Code.OK.intValue()) {
      callback.operationComplete(null, null);
    } else {
      callback.operationFailed(new MetaStoreException(KeeperException.create(Code.get(rc))));
    }
  })), null);
}

代码示例来源:origin: changmingxie/tcc-transaction

@Override
protected int doDelete(Transaction transaction) {
  try {
    getZk().delete(getTxidPath(transaction.getXid()), (int) transaction.getVersion() - 1);
    return 1;
  } catch (Exception e) {
    throw new TransactionIOException(e);
  }
}

代码示例来源:origin: twitter/distributedlog

private void deleteLog(String logName) throws Exception {
  Optional<URI> logUriOptional = FutureUtils.result(metadataStore.getLogLocation(logName));
  assertTrue(logUriOptional.isPresent());
  URI logUri = logUriOptional.get();
  zkc.get().delete(logUri.getPath() + "/" + logName, -1);
}

代码示例来源:origin: twitter/distributedlog

private void rmAll(ZooKeeperClient client, String path) throws Exception {
  List<String> nodes = client.get().getChildren(path, false);
  for (String node : nodes) {
    String childPath = path + "/" + node;
    rmAll(client, childPath);
  }
  client.get().delete(path, 0);
}

代码示例来源:origin: apache/zookeeper

@Test(timeout = 30000)
public void testSimpleDeletion()
    throws KeeperException, InterruptedException {
  zk.create("/foo", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
  zk.create("/foo/bar", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  zk.delete("/foo/bar", -1);  // should cause "/foo" to get deleted when checkContainers() is called
  ContainerManager containerManager = new ContainerManager(serverFactory.getZooKeeperServer()
      .getZKDatabase(), serverFactory.getZooKeeperServer().firstProcessor, 1, 100);
  containerManager.checkContainers();
  Thread.sleep(1000);
  Assert.assertNull("Container should have been deleted", zk.exists("/foo", false));
}

代码示例来源:origin: apache/zookeeper

private void deleteNodeIfExists(ZooKeeper zk, String nodeName)
  throws InterruptedException {
 try {
  zk.delete(nodeName, -1);
 } catch (KeeperException ke) {
  Code code = ke.code();
  boolean valid = code == KeeperException.Code.NONODE ||
          code == KeeperException.Code.NOTEMPTY;
  if (!valid) {
   Assert.fail("Unexpected exception code for delete: " + ke.getMessage());
  }
 }
}

代码示例来源:origin: apache/zookeeper

@Test(timeout = 30000)
public void testCascadingDeletion()
    throws KeeperException, InterruptedException {
  zk.create("/foo", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
  zk.create("/foo/bar", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
  zk.create("/foo/bar/one", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
  zk.delete("/foo/bar/one", -1);  // should cause "/foo/bar" and "/foo" to get deleted when checkContainers() is called
  ContainerManager containerManager = new ContainerManager(serverFactory.getZooKeeperServer()
      .getZKDatabase(), serverFactory.getZooKeeperServer().firstProcessor, 1, 100);
  containerManager.checkContainers();
  Thread.sleep(1000);
  containerManager
      .checkContainers();
  Thread.sleep(1000);
  Assert.assertNull("Container should have been deleted", zk.exists("/foo/bar", false));
  Assert.assertNull("Container should have been deleted", zk.exists("/foo", false));
}

代码示例来源:origin: apache/zookeeper

/**
   * Developers might use standalone mode (which is the default for one server).
   * This test checks SSL works in standalone mode of ZK server.
   * <p/>
   * Note that in this test the Zk server has only secureClientPort
   */
  @Test
  public void testSecureStandaloneServer() throws Exception {
    Integer secureClientPort = PortAssignment.unique();
    MainThread mt = new MainThread(MainThread.UNSET_MYID, "", secureClientPort, false);
    mt.start();

    ZooKeeper zk = ClientBase.createZKClient("127.0.0.1:" + secureClientPort, TIMEOUT);
    zk.create("/test", "".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
    zk.delete("/test", -1);
    zk.close();
    mt.shutdown();
  }
}

代码示例来源:origin: apache/zookeeper

public void verifyDeleteFailure_BadVersion() {
  new StringCB(zk).verifyCreate();
  rc = Code.BADVERSION;
  zk.delete(path, version + 1, this, toString());
  verify();
}

代码示例来源:origin: apache/zookeeper

public void verifyDeleteFailure_NotEmpty() {
  StringCB scb = new StringCB(zk);
  scb.create();
  scb.setPath(path + "/bar");
  scb.create();
  rc = Code.NOTEMPTY;
  zk.delete(path, version, this, toString());
  verify();
}

相关文章