gpt4 book ai didi

org.apache.zookeeper.server.ZooKeeperServer.getZKDatabase()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-17 04:20:40 25 4
gpt4 key购买 nike

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

ZooKeeperServer.getZKDatabase介绍

[英]get the zookeeper database for this server
[中]获取此服务器的zookeeper数据库

代码示例

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

public String[] getEphemeralNodes() {
  if(zk.getZKDatabase()  !=null){
    String[] res = zk.getZKDatabase().getEphemerals(sessionId)
      .toArray(new String[0]);
    Arrays.sort(res);
    return res;
  }
  return null;
}

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

private byte[] getKey(ZooKeeperServer zks) {
  ZKDatabase db = zks.getZKDatabase();
  if (db != null) {
    try {
      Stat stat = new Stat();
      return db.getData("/key", stat, null);
    } catch (NoNodeException e) {
      LOG.error("getData failed", e);
    }
  }
  return null;
}

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

private String getParentPathAndValidate(String path)
    throws BadArgumentsException {
  int lastSlash = path.lastIndexOf('/');
  if (lastSlash == -1 || path.indexOf('\0') != -1
      || zks.getZKDatabase().isSpecialPath(path)) {
    throw new BadArgumentsException(path);
  }
  return path.substring(0, lastSlash);
}

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

private void flush(LinkedList<Request> toFlush)
  throws IOException, RequestProcessorException
{
  if (toFlush.isEmpty())
    return;
  zks.getZKDatabase().commit();
  while (!toFlush.isEmpty()) {
    Request i = toFlush.remove();
    if (nextProcessor != null) {
      nextProcessor.processRequest(i);
    }
  }
  if (nextProcessor != null && nextProcessor instanceof Flushable) {
    ((Flushable)nextProcessor).flush();
  }
}

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

@Override
  public void commandRun() {
    if (!isZKServerRunning()) {
      pw.println(ZK_NOT_SERVING);
    } else {
      DataTree dt = zkServer.getZKDatabase().getDataTree();
      if (len == FourLetterCommands.wchsCmd) {
        dt.dumpWatchesSummary(pw);
      } else if (len == FourLetterCommands.wchpCmd) {
        dt.dumpWatches(pw, true);
      } else {
        dt.dumpWatches(pw, false);
      }
      pw.println();
    }
  }
}

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

@Override
  public CommandResponse run(ZooKeeperServer zkServer, Map<String, String> kwargs) {
    DataTree dt = zkServer.getZKDatabase().getDataTree();
    CommandResponse response = initializeResponse();
    response.put("path_to_session_ids", dt.getWatchesByPath().toMap());
    return response;
  }
}

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

private ContainerManager newContainerManager(final AtomicLong fakeElapsed) {
    return new ContainerManager(serverFactory.getZooKeeperServer()
        .getZKDatabase(), serverFactory.getZooKeeperServer().firstProcessor, 1, 100) {
      @Override
      protected long getElapsed(DataNode node) {
        return fakeElapsed.get();
      }
    };
  }
}

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

private ContainerManager newContainerManager(final AtomicLong fakeElapsed) {
    return new ContainerManager(serverFactory.getZooKeeperServer()
        .getZKDatabase(), serverFactory.getZooKeeperServer().firstProcessor, 1, 100) {
      @Override
      protected long getElapsed(DataNode node) {
        return fakeElapsed.get();
      }
    };
  }
}

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

@Override
  public CommandResponse run(ZooKeeperServer zkServer, Map<String, String> kwargs) {
    DataTree dt = zkServer.getZKDatabase().getDataTree();
    CommandResponse response = initializeResponse();
    response.putAll(dt.getWatchesSummary().toMap());
    return response;
  }
}

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

@Override
  public CommandResponse run(ZooKeeperServer zkServer, Map<String, String> kwargs) {
    DataTree dt = zkServer.getZKDatabase().getDataTree();
    CommandResponse response = initializeResponse();
    response.put("session_id_to_watched_paths", dt.getWatches().toMap());
    return response;
  }
}

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

@After
public void teardown() throws Exception {
  // count down to avoid infinite blocking call due to this latch, if
  // any.
  startupDelayLatch.countDown();
  if (servcnxnf != null) {
    servcnxnf.shutdown();
  }
  if (zks != null) {
    zks.shutdown();
  }
  if (zks.getZKDatabase() != null) {
    zks.getZKDatabase().close();
  }
  ClientBase.recursiveDelete(tmpDir);
}

代码示例来源: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

@Test(timeout = 30000)
public void testFalseEmpty()
    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);
  ContainerManager containerManager = new ContainerManager(serverFactory.getZooKeeperServer()
      .getZKDatabase(), serverFactory.getZooKeeperServer().firstProcessor, 1, 100) {
    @Override
    protected Collection<String> getCandidates() {
      return Collections.singletonList("/foo");
    }
  };
  containerManager.checkContainers();
  Thread.sleep(1000);
  Assert.assertNotNull("Container should have not been deleted", zk.exists("/foo", false));
}

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

/**
 * ZOOKEEPER-2052:
 * This test checks that if a multi operation aborted, and during the multi there is side effect
 * that changed outstandingChangesForPath, after aborted the side effect should be removed and
 * everything should be restored correctly.
 */
@Test
public void testMultiRollbackNoLastChange() throws Exception {
  zks.getZKDatabase().dataTree.createNode("/foo", new byte[0], Ids.OPEN_ACL_UNSAFE, 0, 0, 0, 0);
  zks.getZKDatabase().dataTree.createNode("/foo/bar", new byte[0], Ids.OPEN_ACL_UNSAFE, 0, 0, 0, 0);
  Assert.assertNull(zks.outstandingChangesForPath.get("/foo"));
  // multi record:
  //   set "/foo" => succeed, leave a outstanding change
  //   delete "/foo" => fail, roll back change
  process(Arrays.asList(
      Op.setData("/foo", new byte[0], -1),
      Op.delete("/foo", -1)));
  // aborting multi shouldn't leave any record.
  Assert.assertNull(zks.outstandingChangesForPath.get("/foo"));
}

代码示例来源: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

@Test(timeout = 30000)
public void testSimpleDeletionAsync()
    throws KeeperException, InterruptedException {
  final CountDownLatch latch = new CountDownLatch(1);
  AsyncCallback.Create2Callback cb = new AsyncCallback.Create2Callback() {
    @Override
    public void processResult(int rc, String path, Object ctx, String name, Stat stat) {
      Assert.assertEquals(ctx, "context");
      latch.countDown();
    }
  };
  zk.create("/foo", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER, cb, "context");
  Assert.assertTrue(latch.await(5, TimeUnit.SECONDS));
  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

@Test(timeout = 30000)
public void testMultiWithContainerSimple()
    throws KeeperException, InterruptedException {
  Op createContainer = Op.create("/foo", new byte[0],
      ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.CONTAINER);
  zk.multi(Collections.singletonList(createContainer));
  DataTree dataTree = serverFactory.getZooKeeperServer().getZKDatabase().getDataTree();
  Assert.assertEquals(dataTree.getContainers().size(), 1);
}

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

/**
   * Checks if a session is registered with the server as a watcher.
   *
   * @param long sessionId the session ID to check
   * @param path the path to check for watchers
   * @param type the type of watcher
   * @return true if the client session is a watcher on path for the type
   */
  private boolean isServerSessionWatcher(long sessionId, String path,
      WatcherType type) {
    Set<ServerCnxn> cnxns = new HashSet<>();
    CollectionUtils.addAll(cnxns, serverFactory.getConnections().iterator());
    for (ServerCnxn cnxn : cnxns) {
      if (cnxn.getSessionId() == sessionId) {
        return getServer(serverFactory).getZKDatabase().getDataTree()
            .containsWatcher(path, type, cnxn);
      }
    }
    return false;
  }
}

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

@Override
  public CommandResponse run(ZooKeeperServer zkServer, Map<String, String> kwargs) {
    CommandResponse response = initializeResponse();
    LOG.info("running stat");
    response.put("version", Version.getFullVersion());
    response.put("read_only", zkServer instanceof ReadOnlyZooKeeperServer);
    response.put("server_stats", zkServer.serverStats());
    response.put("client_response", zkServer.serverStats().getClientResponseStats());
    if (zkServer instanceof LeaderZooKeeperServer) {
      Leader leader = ((LeaderZooKeeperServer)zkServer).getLeader();
      response.put("proposal_stats", leader.getProposalStats());
    }
    response.put("node_count", zkServer.getZKDatabase().getNodeCount());
    return response;
  }
}

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

@Test
public void test353TTL()
    throws KeeperException, InterruptedException {
  DataTree dataTree = serverFactory.zkServer.getZKDatabase().dataTree;
  long ephemeralOwner = EphemeralTypeEmulate353.ttlToEphemeralOwner(100);
  dataTree.createNode("/foo", new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, ephemeralOwner,
      dataTree.getNode("/").stat.getCversion()+1, 1, 1);
  final AtomicLong fakeElapsed = new AtomicLong(0);
  ContainerManager containerManager = newContainerManager(fakeElapsed);
  containerManager.checkContainers();
  Assert.assertNotNull("Ttl node should not have been deleted yet", zk.exists("/foo", false));
  fakeElapsed.set(1000);
  containerManager.checkContainers();
  Assert.assertNull("Ttl node should have been deleted", zk.exists("/foo", false));
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com