I use Hazelcast to cache JMS themes.
Everything works fine to a certain extent. After about 30-40 minutes of work, I begin to receive:
WARNING: [192.168.3.102]:5701 [devGroup] RedoLog{key=Data{partitionHash=-1465305045} size= 10, operation=CONCURRENT_MAP_PUT_IF_ABSENT, target=Address[192.168.3.102]:5701, targetConnected=false, redoCount=910, migrating=null partition=Partition [186]{ 0:Address[192.168.3.102]:5701 } }
As I understood from reading the dev forums, these are Redo warnings, meaning that Hazelcast cannot connect to the specified instance target=Address[192.168.3.102]:5701 to distribute the cache.
However, the strange thing is that my configuration has only one node, which is the current server instance:
INFO: [192.168.3.102]:5701 [devGroup] Members [1] { Member [192.168.3.102]:5701 this }
I use spring to configure it:
<hz:hazelcast id="hazelcastInstance"> <hz:config> <hz:group name="devGroup" password="pass"/> <hz:properties> <hz:property name="hazelcast.merge.first.run.delay.seconds">5</hz:property> <hz:property name="hazelcast.merge.next.run.delay.seconds">5</hz:property> </hz:properties> <hz:network port="5701" port-auto-increment="true"> <hz:join> <hz:multicast enabled="false" /> <hz:tcp-ip enabled="true"> <hz:members>192.168.3.102</hz:members> </hz:tcp-ip> </hz:join> <hz:symmetric-encryption enabled="true" algorithm="PBEWithMD5AndDES" salt="thesalt" password="thepass" iteration-count="19"/> <hz:asymmetric-encryption enabled="false" key-password="thekeypass" key-alias="local" store-type="JKS" store-password="thestorepass" store-path="keystore"/> </hz:network> </hz:config> </hz:hazelcast>
I am using Hazelcast 2.1, spring 3.1 and Tomcat 7
So does anyone know why I am getting warnings?
Thanks,
To respond to comments:
I use it as follows:
final ConcurrentMap<K, V> cachedMap = getHazelcast().getMap(region); cachedMap.putIfAbsent(key, value);
The getHazelcast() method returns the entered HazelcastInstance via spring (the one specified in the above configuration, I checked the bean id and it seems to be good).
Update 2.
Maximum size added on map:
final MapConfig mapConfig = hazelcast.getConfig().getMapConfig(region); .... val is calculated here .... mapConfig.getMaxSizeConfig().setSize(val);
val cannot be less than 25000
I tried without adjusting the size, but I still get warnings.
I also use map.values(SqlPredicate("")) to get values by date.