Skip to content

Commit

Permalink
Throw ClientNotActiveException instead of generic HazelcastException
Browse files Browse the repository at this point in the history
alive check in ClientConnectionManager is moved to a more centralized
method and type of the exception is fixed.
  • Loading branch information
sancar committed Sep 24, 2018
1 parent f40deaa commit ae4a159
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
Expand Up @@ -18,6 +18,7 @@

import com.hazelcast.client.AuthenticationException;
import com.hazelcast.client.ClientExtension;
import com.hazelcast.client.HazelcastClientNotActiveException;
import com.hazelcast.client.HazelcastClientOfflineException;
import com.hazelcast.client.config.ClientNetworkConfig;
import com.hazelcast.client.connection.AddressProvider;
Expand Down Expand Up @@ -322,6 +323,9 @@ private Connection getConnection(Address target, boolean asOwner, boolean acquir
}

private void checkAllowed(Address target, boolean asOwner, boolean acquiresResources) throws IOException {
if (!alive) {
throw new HazelcastClientNotActiveException("ConnectionManager is not active!");
}
if (asOwner) {
connectionStrategy.beforeConnectToCluster(target);
//opening an owner connection is always allowed
Expand Down Expand Up @@ -376,9 +380,6 @@ private AuthenticationFuture triggerConnect(Address target, boolean asOwner) {
if (!asOwner) {
connectionStrategy.beforeOpenConnection(target);
}
if (!alive) {
throw new HazelcastException("ConnectionManager is not active!");
}

AuthenticationFuture future = new AuthenticationFuture();
AuthenticationFuture oldFuture = connectionsInProgress.putIfAbsent(target, future);
Expand Down Expand Up @@ -459,9 +460,6 @@ private void bindSocketToPort(Socket socket) throws IOException {
}

protected ClientConnection createSocketConnection(final Address remoteAddress) throws IOException {
if (!alive) {
throw new HazelcastException("ConnectionManager is not active!");
}
SocketChannel socketChannel = null;
try {
socketChannel = SocketChannel.open();
Expand Down
Expand Up @@ -152,7 +152,7 @@ public void testRequestShouldFailOnShutdown() {
}

@Test(expected = HazelcastClientNotActiveException.class)
public void testExceptionAfterClientShutdown() throws Exception {
public void testExceptionAfterClientShutdown() {
hazelcastFactory.newHazelcastInstance();
ClientConfig clientConfig = new ClientConfig();
HazelcastInstance client = hazelcastFactory.newHazelcastClient(clientConfig);
Expand All @@ -165,6 +165,18 @@ public void testExceptionAfterClientShutdown() throws Exception {
test.get("key");
}

@Test(expected = HazelcastClientNotActiveException.class)
public void testExceptionAfterClientShutdown_fromClientConnectionManager() {
hazelcastFactory.newHazelcastInstance();
ClientConfig clientConfig = new ClientConfig();
HazelcastInstance client = hazelcastFactory.newHazelcastClient(clientConfig);

IMap<Object, Object> test = client.getMap("test");
test.put("key", "value");
client.shutdown();
test.size();
}

@Test
public void testShutdownClient_whenThereIsNoCluster() {
ClientConfig clientConfig = new ClientConfig();
Expand Down

0 comments on commit ae4a159

Please sign in to comment.