[infinispan-issues] [JBoss JIRA] (ISPN-8396) Add interceptor preventing going out of memory

Dan Berindei (JIRA) issues at jboss.org
Tue Nov 14 03:23:02 EST 2017


    [ https://issues.jboss.org/browse/ISPN-8396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13489658#comment-13489658 ] 

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)



More information about the infinispan-issues mailing list