我正在使用Hazelcast来缓存JMS主题。
一切都很有效。运行约30-40分钟后,我开始得到:
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
}
}
我从阅读开发论坛中了解到,这些是重做警告,意味着Hazelcast无法连接到指定的实例target=Address[192.168.3.102]:5701
来分发缓存。
但奇怪的是,我的配置只有一个节点,即当前服务器实例:
INFO: [192.168.3.102]:5701 [devGroup]
Members [1] {
Member [192.168.3.102]:5701 this
}
我正在使用spring配置它:
<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>
我正在使用Hazelcast 2.1,Spring 3.1和Tomcat 7
所以有人知道为什么我会收到警告吗?
谢谢,
回答评论:
我这样用:
final ConcurrentMap<K, V> cachedMap = getHazelcast().getMap(region);
cachedMap.putIfAbsent(key, value);
getHazelcast()
方法通过spring返回注入的HazelcastInstance
(上面配置中的那个,我检查了bean id,看起来没问题。)
更新2。
以编程方式添加地图上的最大尺寸:
final MapConfig mapConfig = hazelcast.getConfig().getMapConfig(region);
.... val is calculated here ....
mapConfig.getMaxSizeConfig().setSize(val);
val
不能低于25000
我尝试过没有尺寸配置,但我仍然收到警告。
我还使用map.values(SqlPredicate(""))
按日期获取值。
答案 0 :(得分:5)
如果为地图定义了max-size
,则地图到达put
后的max-size
操作将进入redo
周期,直到地图尺寸减少到最大值大小可以插入新条目。
您应该从地图中删除某些值,或者您应该为该地图定义某种类型的驱逐。我的意思是你可以定义一个或多个以下内容;
eviction-policy
和eviction-percentage
time-to-live-seconds
max-idle-seconds
有关详细信息,请参阅Hazelcast Map Eviction