use of com.hazelcast.cp.internal.session.AbstractProxySessionManager in project hazelcast by hazelcast.
the class AbstractFencedLockBasicTest method testFailedTryLock_doesNotAcquireSession.
@Test
public void testFailedTryLock_doesNotAcquireSession() {
lockByOtherThread(lock);
AbstractProxySessionManager sessionManager = getSessionManager(proxyInstance);
RaftGroupId groupId = (RaftGroupId) lock.getGroupId();
long sessionId = sessionManager.getSession(groupId);
assertNotEquals(NO_SESSION_ID, sessionId);
assertEquals(1, sessionManager.getSessionAcquireCount(groupId, sessionId));
long fence = lock.tryLockAndGetFence();
assertInvalidFence(fence);
assertEquals(1, sessionManager.getSessionAcquireCount(groupId, sessionId));
}
use of com.hazelcast.cp.internal.session.AbstractProxySessionManager in project hazelcast by hazelcast.
the class AbstractFencedLockBasicTest method testGetFenceFails_whenNewSessionCreated.
@Test
public void testGetFenceFails_whenNewSessionCreated() throws ExecutionException, InterruptedException {
long fence = lock.lockAndGetFence();
assertValidFence(fence);
AbstractProxySessionManager sessionManager = getSessionManager(proxyInstance);
RaftGroupId groupId = (RaftGroupId) lock.getGroupId();
long sessionId = sessionManager.getSession(groupId);
assertNotEquals(NO_SESSION_ID, sessionId);
closeSession(instances[0], groupId, sessionId);
assertTrueEventually(() -> assertNotEquals(sessionId, sessionManager.getSession(groupId)));
lockByOtherThread(lock);
try {
lock.getFence();
} catch (LockOwnershipLostException ignored) {
}
assertFalse(lock.isLockedByCurrentThread());
}
use of com.hazelcast.cp.internal.session.AbstractProxySessionManager in project hazelcast by hazelcast.
the class AbstractFencedLockBasicTest method testUnlockFails_whenSessionClosed.
@Test
public void testUnlockFails_whenSessionClosed() throws ExecutionException, InterruptedException {
long fence = lock.lockAndGetFence();
assertValidFence(fence);
AbstractProxySessionManager sessionManager = getSessionManager(proxyInstance);
RaftGroupId groupId = (RaftGroupId) lock.getGroupId();
long sessionId = sessionManager.getSession(groupId);
assertNotEquals(NO_SESSION_ID, sessionId);
closeSession(instances[0], groupId, sessionId);
assertTrueEventually(() -> assertNotEquals(sessionId, sessionManager.getSession(groupId)));
try {
lock.unlock();
} catch (LockOwnershipLostException ignored) {
}
assertFalse(lock.isLockedByCurrentThread());
assertFalse(lock.isLocked());
assertNoLockedSessionId();
}
use of com.hazelcast.cp.internal.session.AbstractProxySessionManager in project hazelcast by hazelcast.
the class AbstractFencedLockBasicTest method testReentrantLockFails_whenSessionClosed.
@Test
public void testReentrantLockFails_whenSessionClosed() throws ExecutionException, InterruptedException {
long fence = lock.lockAndGetFence();
assertValidFence(fence);
AbstractProxySessionManager sessionManager = getSessionManager(proxyInstance);
RaftGroupId groupId = (RaftGroupId) lock.getGroupId();
long sessionId = sessionManager.getSession(groupId);
assertNotEquals(NO_SESSION_ID, sessionId);
closeSession(instances[0], groupId, sessionId);
assertTrueEventually(() -> assertNotEquals(sessionId, sessionManager.getSession(groupId)));
try {
lock.lock();
} catch (LockOwnershipLostException ignored) {
}
}
use of com.hazelcast.cp.internal.session.AbstractProxySessionManager in project hazelcast by hazelcast.
the class ClientSessionManagerTest method testClientSessionManagerShutdown.
@Test
public void testClientSessionManagerShutdown() throws ExecutionException, InterruptedException {
AbstractProxySessionManager sessionManager = getSessionManager();
SessionProxyImpl proxy = new SessionProxyImpl(sessionManager, groupId);
proxy.createSession();
Map<RaftGroupId, InternalCompletableFuture<Object>> futures = sessionManager.shutdown();
assertEquals(1, futures.size());
Entry<RaftGroupId, InternalCompletableFuture<Object>> e = futures.entrySet().iterator().next();
assertEquals(groupId, e.getKey());
e.getValue().get();
exception.expect(IllegalStateException.class);
proxy.createSession();
}
Aggregations