3.6 Fixes
The following are the issues solved for Hazelcast 3.6 release.
EntryEvictedListener
that is notified both for expiration and eviction events. There should be a separate listener for expired entries: eviction happens due to size constraints, and expiry is once the entry has expired. [6311]InvocationFuture
s async calls do not detect the lost operations. [6250]setBooleanAttribute
of the class Member
is run, Null Pointer Exception is occurred on STDOUT
. The problem is in the method sendMemberAttributeEvent
of the class ClusterServiceImpl
. [6223]IOBalancer
keeps references of all the socket reader/writers but when destroying the connection, they release the references for only the ones which has endpoints. This causes a memory leak. [6199]ILIKE
and Regex
examples should be added to the Reference Manual under the "Supported SQL Syntax" section. [6190]GroupProperty
defaulting does not work properly when programmatic configuration is used. [6174]HazelcastInstance
is created using the default newHazelcastInstance
static method, then an HazelcastInstance
whose Config
has a valid configurationUrl
property is created. However, XmlBuilder
does not set this URL in the configuration it parses. [6061]ClientExceptionFactory
which has been developed for exception processing and working well in that sense. [6010]HazelcastXATest
has only fast and slow modes (nothing in between) and possibly due to this, sometimes a transaction is waiting for a timeout. Either the transaction recovery or the test class itself is racy. [5923]ClientEndpointImpl
is the leftover. This runnable collection is used to cleanup the
listeners when client is disconnected, it should be removed too after the listener is removed. [5893] CacheRemoveAllOperation
does not send the "completed" event in some cases, e.g. if CacheRecordStore
for that partition is not created yet or if the filtered keys are empty. [5865]MapProxyImpl
, the methods executeOnKey
and submitToKey
create an EntryOperation
with the thread ID set. This does not happen with the class ClientMapProxy
. Therefore, the class MapExecuteOnKeyRequest
should take a thread ID and set this on the generated EntryOperation
. [5857]IndexImpl.getRecords()
fails with Null Pointer Exception due to the inconsistency between the not(...equals())
and notEquals()
. [5807]HazelcastHttpSession.getAttribute()
for WebFilter does not work when deferredWrite
is set to true
. [5798]hazelcast.nio.faststring
is enabled, UTFEncoderDecoder
tries to create a FastStringCreator
. However, if the reflection is not available due to the security manager, buildFastStringCreator
returns null and consequently StringCreator
becomes null. [5777]hazelcast-jca-rar/pom.xml
references to src/main/rar/ra.xml
which does not exist. [5760]mvn clean compile -Pqa
does not exist but it is documented in the README of Hazelcast. [5746]PerformanceLogFile
only compiles if JDK 1.7 or above is used. [5729]BufferObjectDataInput
is created. This generates waste since it is created with an array of data for every deserialization. The BufferObjectDataOutput
is already cached; the input should use a similar approach. [5562]UnsupportedOperationException
. [5562]keySet()
relies on QueryOperation
. The QueryOperation
does not accept IterationType
- it always returns both keys and values. This can lead to unnecessary load and potentially even an OOM exception. [4642]NullPointerException
is thrown after the cluster is reset. [175]putAll()
method is used [159]