Navigation Menu

Skip to content

3.10

Compare
Choose a tag to compare
@ihsandemir ihsandemir released this 20 Jun 14:32
· 435 commits to master since this release

This document includes the new features, enhancements, and fixed issues for Hazelcast C++ Client 3.10 release.

New features

  • Invocation And Retry Mechanism: Introduced the new system properties "hazelcast.client.invocation.retry.pause.millis" and "hazelcast.client.invocation.timeout.seconds".
  • Client Backpressure: Sometimes, e.g., when your servers are overloaded, you may want to slow down the client operations to the cluster. Then the client can be configured to wait until number of outstanding invocations whose reponses are not received to become less than a certain number. This is called "Client Backpressure". By default, the backpressure is disabled. There are a few properties which control the backpressure. These client configuration properties are:
    • "hazelcast.client.max.concurrent.invocations"
    • "hazelcast.client.invocation.backoff.timeout.millis"
  • Client Connection Strategy: Hazelcast client-cluster connection and reconnection strategy can be configured. Sometimes, you may not want your application to wait for the client to connect to the cluster, you may just want to get the client and let the client connect in the background. This is configured using the following:
ClientConfig::getConnectionStrategyConfig().setAsyncStart(bool);
  • Client Reconnect Strategy: You can configure how the client should act when the client disconnects from the cluster for any reason. This is configured using the following:
ClientConfig::getConnectionStrategyConfig().setReconnectMode(const hazelcast::client::config::ClientConnectionStrategyConfig::ReconnectMode &);

Possible values for the ReconnectMode are:

  • OFF: Prevents reconnect to cluster after a disconnect.
  • ON: Reconnect to cluster by blocking invocations.
  • ASYNC: Reconnect to cluster without blocking invocations. Invocations will receive HazelcastClientOfflineException.

Enhancements

  • Shuffle Cluster Connection Member List: When the client is connecting to the cluster, by default the configured and discovered member addresses are tried randomly. If you would like the client to try connecting in a configured order, you can set the hazelcast.client.shuffle.member.list configuration property to false.

  • Listener Events: When a listener is added then the events are being delivered to the listener as they are received. The events are delivered to your listener implementation via event threads. The number of these event threads can be configured using this property:

config.setProperty("hazelcast.client.event.thread.count", "7");

Fixes

Some of the major bug fixes for this release are listed below. You can find the full list of closed issues and closed PRs at the repo with milestone 3.10

  • Resend mechanism blocking valuable io thread. [#66]
  • Remove seperate owner connection. [#18]
  • Response Thread missing. [#321]
  • C++ client should use RemoteController during the tests [#366]

Known Issues

There are no known issues for this release.