[
https://issues.redhat.com/browse/ISPN-12210?page=com.atlassian.jira.plugi...
]
Wolf-Dieter Fink commented on ISPN-12210:
-----------------------------------------
from my perspective purgeOnStartup need to take a cluster in consideration.
For shared stores it mean if the first node starts it will purge the store - yes with the
risk that the store is purged if a node starts but did not join an already existing
cluster!
For unshared store it means
purge=false -> the first node will load the store and all joining nodes will purge and
rebalance from the cluster
purge=true -> all nodes will purge the store on start
Not sure whether the current behaviour should still be there for some time for
compatibility as this behavior can lead resurrection of dead entries and inconsistency of
different nodes as only one or few members of the cluster has loaded a speciy entry from
the unshared store and the state-transfer will not remove it
Always purge non-shared stores on cache startup
-----------------------------------------------
Key: ISPN-12210
URL:
https://issues.redhat.com/browse/ISPN-12210
Project: Infinispan
Issue Type: Bug
Components: Core, Loaders and Stores
Affects Versions: 11.0.3.Final
Reporter: Dan Berindei
Priority: Major
Fix For: 12.0.0.Final
{{purgeOnStartup}} is unsafe with shared stores, but it must be enabled for non-shared
(private) stores in order to avoid resurrecting removed entries.
We can enhance the graceful cluster/cache shutdown operations to save a "disable
purge" flag in the persisted state, and purge on cache startup the non-shared stores
of any cache missing the "disable purge" flag. This will remove the need to ever
disable {{purgeOnStartup}}.
Then we can ignore the {{purgeOnStartup}} setting and only log a warning that it will be
ignored if the user enabled it for shared stores or disabled it for non-shared stores.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)