We are using hazelcast 3.6.3.
We have 6 hazelcast server nodes. While a client was initializing, one of the server nodes was killed (other 5 nodes were up and running). The client got the following exception:
com.hazelcast.core.HazelcastException: com.hazelcast.core.MemberLeftException: Member [10.133.203.31]:5701 has left cluster!
at com.hazelcast.util.ExceptionUtil.peel(ExceptionUtil.java:65)
at com.hazelcast.util.ExceptionUtil.peel(ExceptionUtil.java:52)
at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.sendClientMessage(AbstractMessageTask.java:217)
at com.hazelcast.client.impl.protocol.task.AbstractMessageTask.handleProcessingFailure(AbstractMessageTask.java:159)
at com.hazelcast.client.impl.protocol.task.AbstractInvocationMessageTask.onFailure(AbstractInvocationMessageTask.java:56)
at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture$1.run(InvocationFuture.java:129)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
at ------ End remote and begin local stack-trace ------.(Unknown Source)
at com.hazelcast.client.spi.impl.ClientInvocationFuture.resolveResponse(ClientInvocationFuture.java:128)
at com.hazelcast.client.spi.impl.ClientInvocationFuture.get(ClientInvocationFuture.java:95)
at com.hazelcast.client.spi.impl.ClientInvocationFuture.get(ClientInvocationFuture.java:74)
at com.hazelcast.client.spi.ProxyManager.initialize(ProxyManager.java:301)
at com.hazelcast.client.spi.ProxyManager.initializeWithRetry(ProxyManager.java:257)
at com.hazelcast.client.spi.ProxyManager.getOrCreateProxy(ProxyManager.java:238)
at com.hazelcast.client.impl.HazelcastClientInstanceImpl.getDistributedObject(HazelcastClientInstanceImpl.java:511)
at com.hazelcast.client.impl.HazelcastClientInstanceImpl.getQueue(HazelcastClientInstanceImpl.java:339)
at com.hazelcast.client.impl.HazelcastClientProxy.getQueue(HazelcastClientProxy.java:88)
Caused by: com.hazelcast.core.MemberLeftException
at com.hazelcast.client.impl.protocol.ClientExceptionFactory$35.createException(ClientExceptionFactory.java:306)
at com.hazelcast.client.impl.protocol.ClientExceptionFactory.createException(ClientExceptionFactory.java:613)
at com.hazelcast.client.impl.protocol.ClientExceptionFactory.createException(ClientExceptionFactory.java:580)
at com.hazelcast.client.spi.impl.ClientInvocationServiceSupport$ResponseThread.handleClientMessage(ClientInvocationServiceSupport.java:313)
at com.hazelcast.client.spi.impl.ClientInvocationServiceSupport$ResponseThread.process(ClientInvocationServiceSupport.java:295)
at com.hazelcast.client.spi.impl.ClientInvocationServiceSupport$ResponseThread.doRun(ClientInvocationServiceSupport.java:288)
at com.hazelcast.client.spi.impl.ClientInvocationServiceSupport$ResponseThread.run(ClientInvocationServiceSupport.java:265)
I was expecting getQueue operation to be successful with no exceptions, because other nodes were up.
Why did hazelcast throw an exception in this state ? What am I supposed to do after catching exception ?