]
Galder Zamarreño updated ISPN-5574:
-----------------------------------
Fix Version/s: 9.4.0.Final
(was: 9.3.0.Final)
Define high-level cache capabilities
------------------------------------
Key: ISPN-5574
URL:
https://issues.jboss.org/browse/ISPN-5574
Project: Infinispan
Issue Type: Feature Request
Components: Configuration, Core
Affects Versions: 7.2.3.Final
Reporter: Dan Berindei
Priority: Minor
Fix For: 9.4.0.Final
Infinispan's configuration is very flexible, and it's sometimes hard to figure
out how different settings affect things like cache consistency.
For example, the lucene-directory module uses the fairly complicated
{{Configurations.noDataLossOnJoiner()}} method to validate that a cache is safe for
storing lucene indexes.
Another example is users who would like to use a store for backup, but they don't
want read from the store for M/R tasks or when get(k) doesn't find the key in memory.
One idea would be to define a set of "capabilities" like
"state-transfer-complete" or "all-data-in-memory". The user could then
add those capabilities in the cache definition, and the cache won't start if the
configuration violates those capabilities. The capabilities would also be used internally,
to improve the error message when a feature requires a particular combination of settings.