public synchronized void checkSession(long sessionId, Object owner)
throws KeeperException.SessionExpiredException,
KeeperException.SessionMovedException,
KeeperException.UnknownSessionException {
LOG.debug("Checking session 0x" + Long.toHexString(sessionId));
SessionImpl session = sessionsById.get(sessionId);
if (session == null) {
throw new KeeperException.UnknownSessionException();
}
if (session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
java类org.apache.zookeeper.KeeperException.SessionExpiredException的实例源码
SessionTrackerImpl.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 41
收藏 0
点赞 0
评论 0
LearnerSessionTracker.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 40
收藏 0
点赞 0
评论 0
public void checkSession(long sessionId, Object owner)
throws SessionExpiredException, SessionMovedException {
if (localSessionTracker != null) {
try {
localSessionTracker.checkSession(sessionId, owner);
return;
} catch (UnknownSessionException e) {
// Check whether it's a global session. We can ignore those
// because they are handled at the leader, but if not, rethrow.
// We check local session status first to avoid race condition
// with session upgrading.
if (!isGlobalSession(sessionId)) {
throw new SessionExpiredException();
}
}
}
}
LearnerSessionTracker.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 34
收藏 0
点赞 0
评论 0
public void setOwner(long sessionId, Object owner)
throws SessionExpiredException {
if (localSessionTracker != null) {
try {
localSessionTracker.setOwner(sessionId, owner);
return;
} catch (SessionExpiredException e) {
// Check whether it's a global session. We can ignore those
// because they are handled at the leader, but if not, rethrow.
// We check local session status first to avoid race condition
// with session upgrading.
if (!isGlobalSession(sessionId)) {
throw e;
}
}
}
}
DiscoveryServiceTest.java 文件源码
项目:incubator-pulsar
阅读 34
收藏 0
点赞 0
评论 0
@Test
public void testGetPartitionsMetadata() throws Exception {
DestinationName topic1 = DestinationName.get("persistent://test/local/ns/my-topic-1");
PartitionedTopicMetadata m = service.getDiscoveryProvider().getPartitionedTopicMetadata(service, topic1, "role")
.get();
assertEquals(m.partitions, 0);
// Simulate ZK error
mockZookKeeper.failNow(Code.SESSIONEXPIRED);
DestinationName topic2 = DestinationName.get("persistent://test/local/ns/my-topic-2");
CompletableFuture<PartitionedTopicMetadata> future = service.getDiscoveryProvider()
.getPartitionedTopicMetadata(service, topic2, "role");
try {
future.get();
fail("Partition metadata lookup should have failed");
} catch (ExecutionException e) {
assertEquals(e.getCause().getClass(), SessionExpiredException.class);
}
}
SessionTrackerImpl.java 文件源码
项目:SecureKeeper
阅读 40
收藏 0
点赞 0
评论 0
public synchronized void checkSession(long sessionId, Object owner)
throws KeeperException.SessionExpiredException,
KeeperException.SessionMovedException,
KeeperException.UnknownSessionException {
LOG.debug("Checking session 0x" + Long.toHexString(sessionId));
SessionImpl session = sessionsById.get(sessionId);
if (session == null) {
throw new KeeperException.UnknownSessionException();
}
if (session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
LearnerSessionTracker.java 文件源码
项目:SecureKeeper
阅读 40
收藏 0
点赞 0
评论 0
public void checkSession(long sessionId, Object owner)
throws SessionExpiredException, SessionMovedException {
if (localSessionTracker != null) {
try {
localSessionTracker.checkSession(sessionId, owner);
return;
} catch (UnknownSessionException e) {
// Check whether it's a global session. We can ignore those
// because they are handled at the leader, but if not, rethrow.
// We check local session status first to avoid race condition
// with session upgrading.
if (!isGlobalSession(sessionId)) {
throw new SessionExpiredException();
}
}
}
}
LearnerSessionTracker.java 文件源码
项目:SecureKeeper
阅读 31
收藏 0
点赞 0
评论 0
public void setOwner(long sessionId, Object owner)
throws SessionExpiredException {
if (localSessionTracker != null) {
try {
localSessionTracker.setOwner(sessionId, owner);
return;
} catch (SessionExpiredException e) {
// Check whether it's a global session. We can ignore those
// because they are handled at the leader, but if not, rethrow.
// We check local session status first to avoid race condition
// with session upgrading.
if (!isGlobalSession(sessionId)) {
throw e;
}
}
}
}
SessionTrackerImpl.java 文件源码
项目:SecureKeeper
阅读 33
收藏 0
点赞 0
评论 0
public synchronized void checkSession(long sessionId, Object owner)
throws KeeperException.SessionExpiredException,
KeeperException.SessionMovedException,
KeeperException.UnknownSessionException {
LOG.debug("Checking session 0x" + Long.toHexString(sessionId));
SessionImpl session = sessionsById.get(sessionId);
if (session == null) {
throw new KeeperException.UnknownSessionException();
}
if (session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
LearnerSessionTracker.java 文件源码
项目:SecureKeeper
阅读 31
收藏 0
点赞 0
评论 0
public void checkSession(long sessionId, Object owner)
throws SessionExpiredException, SessionMovedException {
if (localSessionTracker != null) {
try {
localSessionTracker.checkSession(sessionId, owner);
return;
} catch (UnknownSessionException e) {
// Check whether it's a global session. We can ignore those
// because they are handled at the leader, but if not, rethrow.
// We check local session status first to avoid race condition
// with session upgrading.
if (!isGlobalSession(sessionId)) {
throw new SessionExpiredException();
}
}
}
}
LearnerSessionTracker.java 文件源码
项目:SecureKeeper
阅读 35
收藏 0
点赞 0
评论 0
public void setOwner(long sessionId, Object owner)
throws SessionExpiredException {
if (localSessionTracker != null) {
try {
localSessionTracker.setOwner(sessionId, owner);
return;
} catch (SessionExpiredException e) {
// Check whether it's a global session. We can ignore those
// because they are handled at the leader, but if not, rethrow.
// We check local session status first to avoid race condition
// with session upgrading.
if (!isGlobalSession(sessionId)) {
throw e;
}
}
}
}
SessionTrackerImpl.java 文件源码
项目:fuck_zookeeper
阅读 33
收藏 0
点赞 0
评论 0
synchronized public void checkSession(long sessionId, Object owner) throws KeeperException.SessionExpiredException, KeeperException.SessionMovedException {
SessionImpl session = sessionsById.get(sessionId);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
SessionTrackerImpl.java 文件源码
项目:fuck_zookeeper
阅读 30
收藏 0
点赞 0
评论 0
synchronized public void setOwner(long id, Object owner) throws SessionExpiredException {
SessionImpl session = sessionsById.get(id);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
session.owner = owner;
}
LeaderZooKeeperServer.java 文件源码
项目:fuck_zookeeper
阅读 36
收藏 0
点赞 0
评论 0
@Override
protected void revalidateSession(ServerCnxn cnxn, long sessionId,
int sessionTimeout) throws IOException {
super.revalidateSession(cnxn, sessionId, sessionTimeout);
try {
// setowner as the leader itself, unless updated
// via the follower handlers
setOwner(sessionId, ServerCnxn.me);
} catch (SessionExpiredException e) {
// this is ok, it just means that the session revalidation failed.
}
}
SessionTrackerImpl.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 35
收藏 0
点赞 0
评论 0
synchronized public void setOwner(long id, Object owner) throws SessionExpiredException {
SessionImpl session = sessionsById.get(id);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
session.owner = owner;
}
SessionTrackerImpl.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 38
收藏 0
点赞 0
评论 0
public void checkGlobalSession(long sessionId, Object owner)
throws KeeperException.SessionExpiredException,
KeeperException.SessionMovedException {
try {
checkSession(sessionId, owner);
} catch (KeeperException.UnknownSessionException e) {
throw new KeeperException.SessionExpiredException();
}
}
LeaderZooKeeperServer.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 36
收藏 0
点赞 0
评论 0
@Override
protected void revalidateSession(ServerCnxn cnxn, long sessionId,
int sessionTimeout) throws IOException {
super.revalidateSession(cnxn, sessionId, sessionTimeout);
try {
// setowner as the leader itself, unless updated
// via the follower handlers
setOwner(sessionId, ServerCnxn.me);
} catch (SessionExpiredException e) {
// this is ok, it just means that the session revalidation failed.
}
}
LeaderSessionTracker.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 34
收藏 0
点赞 0
评论 0
public void checkGlobalSession(long sessionId, Object owner)
throws SessionExpiredException, SessionMovedException {
try {
globalSessionTracker.checkSession(sessionId, owner);
} catch (UnknownSessionException e) {
// For global session, if we don't know it, it is already expired
throw new SessionExpiredException();
}
}
LeaderSessionTracker.java 文件源码
项目:https-github.com-apache-zookeeper
阅读 58
收藏 0
点赞 0
评论 0
public void setOwner(long sessionId, Object owner)
throws SessionExpiredException {
if (localSessionTracker != null) {
try {
localSessionTracker.setOwner(sessionId, owner);
return;
} catch(SessionExpiredException e) {
// Ignore. We'll check instead whether it's a global session
}
}
globalSessionTracker.setOwner(sessionId, owner);
}
SessionTrackerImpl.java 文件源码
项目:ZooKeeper
阅读 33
收藏 0
点赞 0
评论 0
synchronized public void checkSession(long sessionId, Object owner) throws KeeperException.SessionExpiredException, KeeperException.SessionMovedException {
SessionImpl session = sessionsById.get(sessionId);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
SessionTrackerImpl.java 文件源码
项目:ZooKeeper
阅读 46
收藏 0
点赞 0
评论 0
synchronized public void setOwner(long id, Object owner) throws SessionExpiredException {
SessionImpl session = sessionsById.get(id);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
session.owner = owner;
}
LeaderZooKeeperServer.java 文件源码
项目:ZooKeeper
阅读 34
收藏 0
点赞 0
评论 0
@Override
protected void revalidateSession(ServerCnxn cnxn, long sessionId,
int sessionTimeout) throws IOException {
super.revalidateSession(cnxn, sessionId, sessionTimeout);
try {
// setowner as the leader itself, unless updated
// via the follower handlers
setOwner(sessionId, ServerCnxn.me);
} catch (SessionExpiredException e) {
// this is ok, it just means that the session revalidation failed.
}
}
HBaseReplicationEndpoint.java 文件源码
项目:ditb
阅读 29
收藏 0
点赞 0
评论 0
/**
* A private method used to re-establish a zookeeper session with a peer cluster.
* @param ke
*/
protected void reconnect(KeeperException ke) {
if (ke instanceof ConnectionLossException || ke instanceof SessionExpiredException
|| ke instanceof AuthFailedException) {
String clusterKey = ctx.getPeerConfig().getClusterKey();
LOG.warn("Lost the ZooKeeper connection for peer " + clusterKey, ke);
try {
reloadZkWatcher();
} catch (IOException io) {
LOG.warn("Creation of ZookeeperWatcher failed for peer " + clusterKey, io);
}
}
}
SessionTrackerImpl.java 文件源码
项目:StreamProcessingInfrastructure
阅读 32
收藏 0
点赞 0
评论 0
synchronized public void checkSession(long sessionId, Object owner) throws KeeperException.SessionExpiredException, KeeperException.SessionMovedException {
SessionImpl session = sessionsById.get(sessionId);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
SessionTrackerImpl.java 文件源码
项目:StreamProcessingInfrastructure
阅读 39
收藏 0
点赞 0
评论 0
synchronized public void setOwner(long id, Object owner) throws SessionExpiredException {
SessionImpl session = sessionsById.get(id);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
session.owner = owner;
}
LeaderZooKeeperServer.java 文件源码
项目:StreamProcessingInfrastructure
阅读 30
收藏 0
点赞 0
评论 0
@Override
protected void revalidateSession(ServerCnxn cnxn, long sessionId,
int sessionTimeout) throws IOException {
super.revalidateSession(cnxn, sessionId, sessionTimeout);
try {
// setowner as the leader itself, unless updated
// via the follower handlers
setOwner(sessionId, ServerCnxn.me);
} catch (SessionExpiredException e) {
// this is ok, it just means that the session revalidation failed.
}
}
SessionTrackerImpl.java 文件源码
项目:bigstreams
阅读 32
收藏 0
点赞 0
评论 0
synchronized public void checkSession(long sessionId, Object owner) throws KeeperException.SessionExpiredException, KeeperException.SessionMovedException {
SessionImpl session = sessionsById.get(sessionId);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
SessionTrackerImpl.java 文件源码
项目:bigstreams
阅读 37
收藏 0
点赞 0
评论 0
synchronized public void setOwner(long id, Object owner) throws SessionExpiredException {
SessionImpl session = sessionsById.get(id);
if (session == null || session.isClosing()) {
throw new KeeperException.SessionExpiredException();
}
session.owner = owner;
}
LeaderZooKeeperServer.java 文件源码
项目:bigstreams
阅读 29
收藏 0
点赞 0
评论 0
@Override
protected void revalidateSession(ServerCnxn cnxn, long sessionId,
int sessionTimeout) throws IOException {
super.revalidateSession(cnxn, sessionId, sessionTimeout);
try {
// setowner as the leader itself, unless updated
// via the follower handlers
setOwner(sessionId, ServerCnxn.me);
} catch (SessionExpiredException e) {
// this is ok, it just means that the session revalidation failed.
}
}
SessionTrackerImpl.java 文件源码
项目:bigstreams
阅读 30
收藏 0
点赞 0
评论 0
synchronized public void checkSession(long sessionId, Object owner) throws KeeperException.SessionExpiredException, KeeperException.SessionMovedException {
SessionImpl session = sessionsById.get(sessionId);
if (session == null) {
throw new KeeperException.SessionExpiredException();
}
if (session.owner == null) {
session.owner = owner;
} else if (session.owner != owner) {
throw new KeeperException.SessionMovedException();
}
}
SessionTrackerImpl.java 文件源码
项目:bigstreams
阅读 34
收藏 0
点赞 0
评论 0
synchronized public void setOwner(long id, Object owner) throws SessionExpiredException {
SessionImpl session = sessionsById.get(id);
if (session == null) {
throw new KeeperException.SessionExpiredException();
}
session.owner = owner;
}