Hazelcast 3.6.2 驱逐地图不适用于 Spring 和 max-size-policy 作为 3.6.2 中的 PER_NODE

Hazelcast 3.6.2 Eviction Map not working with Spring and max-size-policy as PER_NODE in 3.6.2

我想让 Map eviction max-size="4" PER_NODE 在 Hazelcast 3.6.2 spring 上运行。下面是我在 spring.

中定义的地图
<hz:map name="sfdRequestMap" in-memory-format="OBJECT" eviction-policy="LRU" max-size="4" max-size-policy="PER_NODE" eviction-percentage="25">
</hz:map>

我还检查了是否确实为定义的地图设置了此驱逐政策,并且确实如此。几秒钟后驱逐也适用于该地图,但在覆盖最大尺寸时驱逐则不然。我正在使用 hazelcast 3.6.2。我也尝试过删除内存格式、更改驱逐政策等。

预期的行为是当地图超过项目数量(超过 4 个)时将开始驱逐。实际行为是驱逐永远不会开始。

欢迎任何帮助。

Hazelcast Map 在内部基于分区进行逐出,这意味着当您使用 PER_NODE maxSize 为 5000 的策略时,它 将 maxSize 转换为分区最大大小 通过使用这个等式 partition-max-size = maxSize * memberCount / partitionCount。当该分区中的条目数超过 partition-max-size 时,将从该分区开始驱逐。 partition-max-size 的最小值在内部设置为 1 不会逐出每个添加的条目。所以 partitionCount 是最小可设置的最大大小(默认分区数为 271)。