Hi,
I'm dealing with this situation: Let's say there are 3 Hazelcast member nodes running and a C++ client is connected to them.
There are some steady inserts (put/replace) pouring in.
Then 1 Hazelcast member node goes down. It is hard stop not a clean exit (clean stop.sh works fine). Another case would be a network issue.
It takes "hazelcast.max.no.heartbeat.seconds" till the topology is updated correctly.
Now until the topology is updated, the Client application get stuck. All the inflight operations are blocked.
I have two questions:
Q1. Is it possible to explicitly tell Hazelcast cluster, that a concrete node disappeared?
I've found the REST API for Cluster management, but it seems to be possible to change only the running node's state.
I would need to tell node #1 and #2 that node #3 is down, so they don't have to wait till "hazelcast.max.no.heartbeat.seconds" times out.
(Let's assume I know that the node went down or is otherwise unavailable).
Q2. How can I optimize the Client side to avoid hung operations?
There is no obvious timeout setting in the ClientConfig configuration.
But perhaps I missed something. Maybe "hazelcast.client.invocation.timeout.seconds" ?
Or is there anything else on the client side, that I could configure to avoid the hung operations or at least limit the time?
Note: Using Hazelcast 3.7.4, Hazelcast Cpp Client 3.6.3
Thanks a lot,
Regards,
Roman
