2016-04-25 8 views
2

Map eviction max-size = "4" PER_NODEがHazelcast 3.6.2 springで動作します。これは私のマップが春に定義されたものです。Hazelcast 3.6.2エビクションマップがSpringとmax-size-policyでPERNODE 3.6.2で動作しない

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

私は、この追放ポリシーが実際に定義されたマップに設定されているかどうかを確認しました。また、秒後にそのマップのために働きますが、最大サイズを上書きすることはありません。私はヘイルキャスト3.6.2を使用しています。私はまた、メモリ内のフォーマットの削除、追放ポリシーの変更などを試みました。

予想される動作は、マップがアイテムの量を超えたとき(4つ以上)、追い出しが開始されることです。実際の行動は、退去が決して始まらないことです。

助けを歓迎します。

+1

あなたは何を観察していますか?エントリは追い出されないと私は推測する。これは正しいです? –

+0

これは正しいです:) – jobbert

+0

私は追加情報のための10のエントリでそれをテストしました。 – jobbert

答えて

3

Hazelcast地図は内部パーティションごとに立ち退きを行い、それはあなたが5000のmaxSizeのでPER_NODEポリシーを使用する場合、それははこの式 partition-max-size = maxSize * memberCount/partitionCountを使用して、パーティションの最大サイズにそのmaxSizeのを変換を意味します。そのパーティションのエントリカウントがpartition-max-sizeを超えると、そのパーティションでエビクションが開始されます。 partition-max-sizeの最小値は内部的にはすべて追加されたエントリを削除しないように1に設定されています。したがって、最小設定可能な最大サイズはpartitionCountです(デフォルトのパーティション数は271です)。

+0

ヘビキャストクラスター内に4人のメンバーがいて、キャッシュ内に20個のアイテムを入れたい場合、maxSizeは271/4 * 20 = +/- 1360にする必要がありますか?あなたはどこを見つけましたか?入手できる資料はありますか? – jobbert

+1

あなたはそれがここに文書化されて見ることができます:https://github.com/hazelcast/hazelcast-reference-manual/blob/49371def48db9b3de56868665605032ad9e0403c/src/Map-Eviction.md#understanding-map-eviction – mrck

+0

私は私の中に4人のメンバーがいるキャッシュ内に20個のアイテムが必要な場合、maxSizeは271/4 * 20 = +/- 1360? – jobbert

関連する問題