Skip to content

@ihsandemir ihsandemir released this Apr 25, 2019 · 1 commit to master since this release

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

New features

  • JSON Serializer: You can now use the JSON formatted strings as objects in the Hazelcast cluster. Starting with Hazelcast IMDG 3.12, the JSON serialization is one of the formerly supported serialization methods. Creating JSON objects in the cluster does not require any server side coding and hence you can just send a JSON formatted string object to the cluster and query these objects by fields. See the JSON Serialization for details. Examples can be found here.

  • Async API: Asynchronous methods are added for more powerful operations like batched writing or reading. The asynchronous methods do not block but return immediately with an ICompletableFuture interface. You can later query the result of the operation using this interface or even provide a callback method to be executed on the user executor threads when the response to the call is received. The IMap, Ringbuffer and IAtomicLong support asynchronous operations. See the Using IMap Non-Blocking Async Methods, Using Ringbuffer Non-Blocking Async Methods and Using Atomic Long Non-Blocking Async Methods for details. Examples can be found here.

  • Distributed Executor Service: Hazelcast C++ client allows you to asynchronously execute your tasks (logical units of work) in the cluster, such as database queries, complex calculations and image rendering. With IExecutorService, you can execute tasks asynchronously and perform other useful tasks. If your task execution takes longer than expected, you can cancel it. See the Distributed Executor Service for details. Examples can be found here.

  • Pipelining API: With the new Pipelining API, you can send multiple requests in parallel using a single thread and, therefore, increase the throughput. See the Pipelining for details. Examples can be found here.


  • Added the missing HazelcastClient::getLocalEndpoint() API so that you can get the client UUID. [#524]


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

  • Fixed an issue in 3.10.1 where there was a leak in the client memory (thread allocation). [#455]
  • Fixed an issue where TopologyChangedException was retryable. [#522]

Known Issues

There are no known issues for this release.

Assets 2
You can’t perform that action at this time.