]
Wolf-Dieter Fink updated ISPN-12349:
------------------------------------
Affects Version/s: 12.0.0.Dev03
Eviction <memory> attribute when-full does not work as
expected
---------------------------------------------------------------
Key: ISPN-12349
URL:
https://issues.redhat.com/browse/ISPN-12349
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 12.0.0.Dev03
Reporter: Wolf-Dieter Fink
Priority: Major
Eviction can be configured with the <memory> element and use when-full of
NONE|MANUAL|REMOVE|EXCEPTION
From XSD:
NONE - Do not evict entries. ...
MANUAL Manually evict entries. This strategy is the same as NONE but does not log errors
if you enable passivation without eviction.
REMOVE - Automatically evict older entries to make space for new entries. By default
REMOVE is always used when you define a size for the data container unless you configure
the EXCEPTION strategy.
EXCEPTION Do not evict entries. If the data container reaches the maximum size,
exceptions occur for requests to create new entries.
With a store (here RocksDB) no matter whether passivation is enabled or not
EXCEPTION will NOT throw an Exception but does not evict any entry, the entries can be
added with the drawback that the statistic is wrong num-in-mem=X current-num-entries=X
total-entires=0
-> without a store the Exception is thrown as expected
With REMOVE the eviction will work as expected
NONE|MANUAL will default always to REMOVE and not show the behavior in its description no
matter whether a store and passivation is used.
NONE and MANUAL seems useless and lead confusion.