Ich verwende Spring + Hazelcast 3.8.2 und haben eine Karte konfiguriert wie dies die Spring-Konfiguration mit:Hazelcast in der Nähe von Cache: Vertreiben, wenn auf verschiedenen Knoten geändert
<hz:map name="test.*" backup-count="1"
max-size="0" eviction-percentage="30" read-backup-data="true"
time-to-live-seconds="900"
eviction-policy="NONE" merge-policy="com.hazelcast.map.merge.PassThroughMergePolicy">
<hz:near-cache max-idle-seconds="300"
time-to-live-seconds="0"
max-size="0" />
</hz:map>
ich zwei Clients verbunden haben (beide auf derselben Maschine [Test env], verschiedene Ports verwendend).
Wenn ich einen Wert in der Karte auf einem Client ändern noch der andere Kunde hat den alten Wert, bis es aufgrund der abgelaufenen Leerlaufzeit aus dem nahen Cache geräumt bekommen.
fand ich ein ähnliches Problem wie diese hier: Hazelcast near-cache eviction doesn't work
Aber ich bin nicht sicher, ob dies wirklich das gleiche Problem, zumindest wird erwähnt, dass dies ein Fehler in Version 3.7 war und wir 3.8 verwenden. 2.
Ist dies ein korrektes Verhalten oder mache ich etwas falsch? Ich weiß, dass es eine Eigenschaft gibt invalidate-on-change
, aber als Standard ist dies true
, also erwarte ich nicht, dass ich diesen einstellen muss.
Ich habe auch versucht, die read-backup-data
auf false
, hilft nicht.
Vielen Dank für Ihre Unterstützung
Christian