3.4 Fixes
This section lists issues solved for Hazelcast 3.4 release.
BackupPutOperation does not trigger the eviction [#4297].putIfAbsent, remove, replace are broken with the sync listener. The missing completion event, if the condition fails for these methods, should be added [#4251].BINARY mode is not working. The problem seems to be in the loadAll method of com.hazelcast.queue.impl.QueueStoreWrapper [#4244].ClientExecutorServiceSubmitTest.java is compiled using the Eclipse compiler, it gives a compile error: "The method submit(Runnable, ExecutionCallback) is ambiguous for the type IExecutorService". The reason is that the IExecutorService.java class does not have some generics. The issue has been solved by adding these missing generics to the IExecutorService.java class [#4234].clear method should be removed that runs when the size is smaller than the minimum eviction element count (MIN_EVICTION_ELEMENT_COUNT) [#4124].get(key) does not count as an access to the underlying IMap. The near cache has its own max-idle-seconds element. However, if an entry is expired/evicted in the IMap, it also causes a near cache removal operation for the entry regardless of the max-idle-seconds of that entry in the near cache. The entry expires and is evicted even if the near cache is being hit constantly. When a near cache is hit, the underlying map should reset the idle time for that key [#4016].checkFullyProcessed of MapReduce throws null pointer exception. The reason may be that multiple threads attempt to start the final processing state in the JobSupervisor [#3952].RejectedExecutionException is thrown [#3669].IMap and TransactionalMap, read-only operations such as get(), containsKey(), keySet(), and containsValue() break the transaction atomicity [#3191].