2016-04-25 25 views
2

Ich möchte Map Räumung max-size = "4" PER_NODE arbeiten auf Hazelcast 3.6.2 Feder. Darunter ist meine Map im Frühling definiert.Hazelcast 3.6.2 Eviction Map funktioniert nicht mit Spring und max-size-policy als PER_NODE in 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> 

Ich habe auch wenn diese Bereinigungsrichtlinie geprüft tatsächlich für die definierte Karte gesetzt ist, und es ist. Auch die Räumung nach Sekunden funktioniert für diese Karte, aber die Räumung bei Überschreitung der Maximalgröße tut dies nicht. Ich benutze haselnuss 3.6.2. Ich habe auch versucht, in-memory-Format zu entfernen, Eviction Policy usw. ändern etc.

Erwartete Verhalten ist, dass wenn die Karte die Menge der Elemente (mehr als 4) überschreitet die Räumung würde beginnen. Das tatsächliche Verhalten ist, dass die Räumung niemals beginnt.

Jede Hilfe ist willkommen.

+1

Welches Verhalten beobachten Sie? Einträge werden nicht geräumt, nehme ich an. ist das richtig? –

+0

Das ist richtig :) – jobbert

+0

Ich habe es mit 10 Einträgen für zusätzliche Informationen getestet. – jobbert

Antwort

3

Hazelcast Karte intern tut Räumung auf Partition Basis, das heißt, wenn Sie PER_NODE Politik mit einer maxSize von 5000 verwenden, ist es übersetzt, dass maxSize zu partitionieren-max-size durch diese Gleichung mit partition-max-size = maxSize * memberCount/partitionCount. Und wenn die Anzahl der Einträge in dieser Partition partition-max-size überschreitet, beginnt die Räumung auf dieser Partition. Min. Wert für partition-max-size ist intern 1 gesetzt, um nicht jeden hinzugefügten Eintrag zu entfernen. Also partitionCount ist die minimal einstellbare maximale Größe (Standard-Partition-Anzahl ist 271).

+0

Also, wenn ich 4 Mitglieder in meinem hazelcast Cluster habe und 20 Objekte in meinem Cache haben wollen, sollte die maxSize: 271/4 * 20 = +/- 1360 sein? Wo hast du das gefunden? Gibt es Unterlagen? – jobbert

+1

Sie können es hier dokumentiert sehen: https://github.com/hazelstcast/hazelcast-reference-manual/blob/49371def48db9b3de56868665605032ad9e0403c/src/Map-Eviction.md#understanding-map-eviction – mrck

+0

Also, wenn ich 4 Mitglieder in meiner haben Haselnuss-Cluster und Sie möchten 20 Artikel in meinem Cache haben, sollte die maxSize: 271/4 * 20 = +/- 1360 sein? – jobbert