[
https://issues.jboss.org/browse/ISPN-8396?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-8396:
------------------------------------
[~william.burns] I was thinking of implementing this at the data container level, but
transactions would indeed be a problem in that case: the data container only sees the
write during commit, when it's too late to throw an exception. Using an interceptor we
can make the prepare command reserve the memory, and the only downside is some extra
failures when the container is at the limit and concurrent prepares processed in a
different order on each owner make each other fail.
WRT functional commands, you can know how big the value is, you just have to check it
after {{command.perform()}} wrote the new value in the context.
The only problem I see is that each node decides what values to write independently, which
means not all owners will see the same value. So maybe we should only allow
MEMORY-EXCEPTION for transactional caches :)
Add interceptor preventing going out of memory
----------------------------------------------
Key: ISPN-8396
URL:
https://issues.jboss.org/browse/ISPN-8396
Project: Infinispan
Issue Type: Feature Request
Components: Cloud Integrations, Core
Reporter: Sebastian Ćaskawiec
Assignee: William Burns
We need an interceptor which will calculate the amount of required memory for PUT and
report an error if that put will cause going out of memory.
Note that this is strictly connected to eviction mechanism (we might want to evict some
entries on write)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)