[JBoss JIRA] (ISPN-8180) Add key to WriteEntryView
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-8180?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-8180:
------------------------------
Status: Open (was: New)
> Add key to WriteEntryView
> -------------------------
>
> Key: ISPN-8180
> URL: https://issues.jboss.org/browse/ISPN-8180
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Reporter: Radim Vansa
> Assignee: Radim Vansa
> Fix For: 9.2.0.Final
>
>
> WriteOnlyKeyCommand should be able to simulate ComputeIfAbsentCommand without the conditional part (dropping the condition during when this is added to modifications list) and the signature for that command's remapping function is {{Function<K, V>}}. Therefore, we need to add key() to the WriteEntryView. This comes with no performance costs as the key is always at hand, no need to load it from anywhere.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months
[JBoss JIRA] (ISPN-8862) Iteration and stream operations with passivation disabled shouldn't use in memory
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-8862?page=com.atlassian.jira.plugin.... ]
William Burns commented on ISPN-8862:
-------------------------------------
Looking at this more, I think this is a bit more complicated. If we have all entries in memory that we have in the store, this change would cause a very big performance degredation in my testing with a SingleFileStore (45 op/s down to .67 op/s).
This should be optionally done based on if off heap/store as binary/eviction/preload and other factors. This needs to be thought out more.
> 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/o...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 4 months