[infinispan-issues] [JBoss JIRA] (ISPN-8862) Iteration and stream operations with passivation disabled shouldn't use in memory

Dan Berindei (JIRA) issues at jboss.org
Thu Apr 26 10:53:00 EDT 2018


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

Dan Berindei commented on ISPN-8862:
------------------------------------

We could go the other way around and skip the store iteration if there's no eviction. (Not sure if checking that the eviction strategy is none is enough to confirm that there's no automatic or manual eviction, though).

If there is any kind of eviction then we always have to iterate through the store's keys, so maybe we can pass the data container to the store and allow it to decide whether to try and load the value+metadata from the data container if available (e.g. {{SingleFileStore}}) or skip the data container access because reading the value separately is too expensive (e.g. {{JdbcStringBasedStore}}).

> Iteration and stream operations with passivation disabled shouldn't use in memory
> ---------------------------------------------------------------------------------
>
>                 Key: ISPN-8862
>                 URL: https://issues.jboss.org/browse/ISPN-8862
>             Project: Infinispan
>          Issue Type: Enhancement
>            Reporter: William Burns
>            Assignee: William Burns
>             Fix For: 9.3.0.Final
>
>
> When passivation is disabled all entries are assumed to be in the cache loader/store. We currently try to merge these together in a sloppy way [1]. This first reads in memory and then from the store and keeps all keys from in memory to exclude them from the store. Unfortunately the store still has to pull the entries even for the already read keys, but just ignores them. This leads to a lot of inefficiency and memory bloat. Instead we should just return the store entries as is when passivation is disabled.
> [1] https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/interceptors/impl/CacheLoaderInterceptor.java#L506



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the infinispan-issues mailing list