本文整理了Java中org.apache.zookeeper.ZooKeeper.getSessionId()
方法的一些代码示例,展示了ZooKeeper.getSessionId()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZooKeeper.getSessionId()
方法的具体详情如下:
包路径:org.apache.zookeeper.ZooKeeper
类名称:ZooKeeper
方法名:getSessionId
[英]The session id for this ZooKeeper client instance. The value returned is not valid until the client connects to a server and may change after a re-connect. This method is NOT thread safe
[中]此ZooKeeper客户端实例的会话id。在客户端连接到服务器之前,返回的值无效,重新连接后可能会更改。此方法不是线程安全的
代码示例来源:origin: apache/hbase
public synchronized long getSessionId() {
return zk == null ? -1 : zk.getSessionId();
}
代码示例来源:origin: ltsopensource/light-task-scheduler
public String getSessionId() {
ZooKeeper current = zk;
if (current != null) {
return String.format("0x%x", current.getSessionId());
}
return "";
}
代码示例来源:origin: ltsopensource/light-task-scheduler
public String getSessionId() {
ZooKeeper current = zk;
if (current != null) {
return String.format("0x%x", current.getSessionId());
}
return "";
}
代码示例来源:origin: org.apache.hadoop/hadoop-common
@VisibleForTesting
synchronized long getZKSessionIdForTests() {
if (zkClient != null) {
return zkClient.getSessionId();
} else {
return -1;
}
}
代码示例来源:origin: apache/hbase
public synchronized void reconnectAfterExpiration()
throws IOException, KeeperException, InterruptedException {
if (zk != null) {
LOG.info("Closing dead ZooKeeper connection, session" +
" was: 0x"+Long.toHexString(zk.getSessionId()));
zk.close();
// reset the ZooKeeper connection
zk = null;
}
checkZk();
LOG.info("Recreated a ZooKeeper, session" +
" is: 0x"+Long.toHexString(zk.getSessionId()));
}
代码示例来源:origin: org.apache.hadoop/hadoop-common
/**
* The callbacks and watchers pass a reference to the ZK client
* which made the original call. We don't want to take action
* based on any callbacks from prior clients after we quit
* the election.
* @param ctx the ZK client passed into the watcher
* @return true if it matches the current client
*/
private synchronized boolean isStaleClient(Object ctx) {
Preconditions.checkNotNull(ctx);
if (zkClient != (ZooKeeper)ctx) {
LOG.warn("Ignoring stale result from old client with sessionId {}",
String.format("0x%08x", ((ZooKeeper)ctx).getSessionId()));
return true;
}
return false;
}
代码示例来源:origin: apache/ignite
/** */
public String getZkSessionId() {
if (rtState.zkClient != null && rtState.zkClient.zk() != null)
return Long.toHexString(rtState.zkClient.zk().getSessionId());
else
return null;
}
}
代码示例来源:origin: apache/zookeeper
LOG.debug("Closing session: 0x" + Long.toHexString(getSessionId()));
LOG.info("Session: 0x" + Long.toHexString(getSessionId()) + " closed");
代码示例来源:origin: apache/zookeeper
private void verifyUnexpectedBeans(Set<ObjectName> children) {
if (allClients != null) {
for (ZooKeeper zkc : allClients) {
Iterator<ObjectName> childItr = children.iterator();
while (childItr.hasNext()) {
ObjectName clientBean = childItr.next();
if (clientBean.toString().contains(
getHexSessionId(zkc.getSessionId()))) {
LOG.info("found name:" + zkc.getSessionId()
+ " client bean:" + clientBean.toString());
childItr.remove();
}
}
}
}
for (ObjectName bean : children) {
LOG.info("unexpected:" + bean.toString());
}
Assert.assertEquals("Unexpected bean exists!", 0, children.size());
}
代码示例来源:origin: twitter/distributedlog
private void expireZooKeeperSession(ZooKeeper zk, int timeout)
throws IOException, InterruptedException, KeeperException {
final CountDownLatch latch = new CountDownLatch(1);
ZooKeeper newZk = new ZooKeeper(zkServers, timeout, new Watcher() {
@Override
public void process(WatchedEvent event) {
if (event.getType() == EventType.None && event.getState() == KeeperState.SyncConnected) {
latch.countDown();
}
}},
zk.getSessionId(),
zk.getSessionPasswd());
if (!latch.await(timeout, TimeUnit.MILLISECONDS)) {
throw KeeperException.create(KeeperException.Code.CONNECTIONLOSS);
}
newZk.close();
}
代码示例来源:origin: twitter/distributedlog
private static String createLockNodeV3(ZooKeeper zk, String lockPath, String clientId) throws Exception {
return zk.create(getLockPathPrefixV3(lockPath, clientId, zk.getSessionId()), serializeClientId(clientId),
ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);
}
代码示例来源:origin: apache/zookeeper
@Test
public void directCheckUpgradeSessionTest() throws IOException, InterruptedException, KeeperException {
final ZooKeeper zk = createClient();
String path = "/directcheckupgradesession";
zk.create(path, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
QuorumZooKeeperServer server = getConnectedServer(zk.getSessionId());
Assert.assertNotNull("unable to find server interlocutor", server);
Request readRequest = makeGetDataRequest(path, zk.getSessionId());
Request createRequest = makeCreateRequest(path + "/e", zk.getSessionId());
Assert.assertNull("tried to upgrade on a read", server.checkUpgradeSession(readRequest));
Assert.assertNotNull("failed to upgrade on a create", server.checkUpgradeSession(createRequest));
Assert.assertNull("tried to upgrade after successful promotion",
server.checkUpgradeSession(createRequest));
}
代码示例来源:origin: apache/zookeeper
@Test
public void ephemeralCreateMultiOpTest() throws KeeperException, InterruptedException, IOException {
final ZooKeeper zk = createClient();
String data = "test";
String path = "/ephemeralcreatemultiop";
zk.create(path, new byte[0], ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
QuorumZooKeeperServer server = getConnectedServer(zk.getSessionId());
Assert.assertNotNull("unable to find server interlocutor", server);
UpgradeableSessionTracker sessionTracker = (UpgradeableSessionTracker)server.getSessionTracker();
Assert.assertFalse("session already global", sessionTracker.isGlobalSession(zk.getSessionId()));
List<OpResult> multi = null;
try {
multi = zk.multi(Arrays.asList(
Op.setData(path, data.getBytes(), 0),
Op.create(path + "/e", data.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL),
Op.create(path + "/p", data.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT),
Op.create(path + "/q", data.getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL)
));
} catch (KeeperException.SessionExpiredException e) {
// the scenario that inspired this unit test
Assert.fail("received session expired for a session promotion in a multi-op");
}
Assert.assertNotNull(multi);
Assert.assertEquals(4, multi.size());
Assert.assertEquals(data, new String(zk.getData(path + "/e", false, null)));
Assert.assertEquals(data, new String(zk.getData(path + "/p", false, null)));
Assert.assertEquals(data, new String(zk.getData(path + "/q", false, null)));
Assert.assertTrue("session not promoted", sessionTracker.isGlobalSession(zk.getSessionId()));
}
代码示例来源:origin: apache/hbase
@Test
public void testSessionExpire() throws Exception {
assertArrayEquals(DATA, RO_ZK.get(PATH).get());
ZooKeeper zk = RO_ZK.zookeeper;
long sessionId = zk.getSessionId();
UTIL.getZkCluster().getZooKeeperServers().get(0).closeSession(sessionId);
// should not reach keep alive so still the same instance
assertSame(zk, RO_ZK.zookeeper);
byte[] got = RO_ZK.get(PATH).get();
assertArrayEquals(DATA, got);
assertNotNull(RO_ZK.zookeeper);
assertNotSame(zk, RO_ZK.zookeeper);
assertNotEquals(sessionId, RO_ZK.zookeeper.getSessionId());
}
代码示例来源:origin: apache/zookeeper
Assert.assertSame("should be in r/o mode", States.CONNECTEDREADONLY, zk
.getState());
long fakeId = zk.getSessionId();
LOG.info("Connected as r/o mode with state {} and session id {}",
zk.getState(), fakeId);
zk.getState());
LOG.info("Connected as rw mode with state {} and session id {}",
zk.getState(), zk.getSessionId());
zk.create("/test", "test".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE,
CreateMode.PERSISTENT);
Assert.assertFalse("fake session and real session have same id", zk
.getSessionId() == fakeId);
zk.close();
代码示例来源:origin: twitter/distributedlog
@Test(timeout = 60000)
public void testZooKeeperReconnection() throws Exception {
int sessionTimeoutMs = 100;
ZooKeeperClient zkc = clientBuilder(sessionTimeoutMs).zkAclId(null).build();
ZooKeeper zk = zkc.get();
long sessionId = zk.getSessionId();
ZooKeeperClientUtils.expireSession(zkc, zkServers, 2 * sessionTimeoutMs);
ZooKeeper newZk = zkc.get();
while (!ZooKeeper.States.CONNECTED.equals(newZk.getState())) {
TimeUnit.MILLISECONDS.sleep(sessionTimeoutMs / 2);
}
long newSessionId = newZk.getSessionId();
assertTrue(newZk == zk);
assertFalse(sessionId == newSessionId);
}
代码示例来源:origin: apache/zookeeper
@Test
public void testOnlyUpgradeSessionOnce()
throws IOException, InterruptedException, KeeperException {
// create a client, and create an ephemeral node to trigger the
// upgrading process
final String node = "/node-1";
ZooKeeper zk = new ZooKeeper("127.0.0.1:" + clientPorts[0],
ClientBase.CONNECTION_TIMEOUT, this);
waitForOne(zk, States.CONNECTED);
long sessionId = zk.getSessionId();
QuorumZooKeeperServer server =
(QuorumZooKeeperServer) mt[0].main.quorumPeer.getActiveServer();
Request create1 = createEphemeralRequest("/data-1", sessionId);
Request create2 = createEphemeralRequest("/data-2", sessionId);
Assert.assertNotNull("failed to upgrade on a ephemeral create",
server.checkUpgradeSession(create1));
Assert.assertNull("tried to upgrade again", server.checkUpgradeSession(create2));
// clean al the setups and close the zk
zk.close();
}
代码示例来源:origin: apache/zookeeper
watcher.waitForConnected(CONNECTION_TIMEOUT);
long localSessionId2 = zk.getSessionId();
代码示例来源:origin: apache/zookeeper
Assert.assertEquals(0, stat.getVersion());
Assert.assertEquals(0, stat.getAversion());
Assert.assertEquals(zk.getSessionId(), stat.getEphemeralOwner());
Assert.assertEquals(childname.length(), stat.getDataLength());
Assert.assertEquals(0, stat.getNumChildren());
代码示例来源:origin: apache/zookeeper
Assert.assertEquals(0, stat.getVersion());
Assert.assertEquals(0, stat.getAversion());
Assert.assertEquals(zk.getSessionId(), stat.getEphemeralOwner());
Assert.assertEquals(childname.length(), stat.getDataLength());
Assert.assertEquals(0, stat.getNumChildren());
内容来源于网络,如有侵权,请联系作者删除!