[
https://issues.jboss.org/browse/ISPN-4132?page=com.atlassian.jira.plugin....
]
Paul Ferraro edited comment on ISPN-4132 at 4/4/14 10:36 AM:
-------------------------------------------------------------
I disagree. The likelihood that a given session attribute will be accessed is not
independent of, but is correlated with, the access recency of the session with which it is
associated. If a session was not accessed for a given period then we know for certain
that its attributes were not accessed for at least as long.
The greater point I was trying to make is: it's not always meaningful to base eviction
off of a maximum number of entries. WildFly can be configured to store sessions as either
2 entries per session (the default), or N+1 entries per session, where N is the number of
attributes in the session. In both cases, all cache entries associated with a session
make up a single group. As a user/administrator, I am more interested in specifying the
maximum number of sessions (i.e. groups) to keep in memory - irrespective of the cache
entry mapping implementation details, since the desired value of max-entries would differ
widely based on the session mapping strategy.
was (Author: pferraro):
I disagree. The likelihood that a given session attribute will be accessed is not
independent of, but is correlated with, the access recency of the session with which it is
associated. If a session was not accessed for a given period then we know for certain
that its attributes were not accessed for at least as long.
The greater point I was trying to make is: it's not always meaningful to base eviction
off of a maximum number of entries. WildFly can be configured to store sessions as either
2 entries per session (the default), or N+1 entries per session, where N is the number of
attributes in the session. In both cases, all cache entries associated with a session
make up a single group. As a user/administrator, I am more interested in specifying the
maximum number of sessions (i.e. groups) to keep in memory - irrespective of the cache
entry mapping implementation details, since the effective value of max-entries would
differ based on the session mapping strategy.
Group-based eviction
--------------------
Key: ISPN-4132
URL:
https://issues.jboss.org/browse/ISPN-4132
Project: Infinispan
Issue Type: Feature Request
Components: Eviction
Affects Versions: 6.0.2.Final
Reporter: Paul Ferraro
Assignee: Dan Berindei
Currently, Infinispan only supports size-based eviction. We can configure a cache with
a specific max-entries, so if the size exceeds this value infinispan will evict any
surplus entries.
However, if the cache has grouping enabled, it is perhaps more useful to use group-based
eviction. In this scenario, max-entries would be interpreted as "max-groups",
and infinispan would evict entire groups of cache entries if the number of groups exceeds
this value.
In WildFly, web sessions make use of grouping. A single web session will map to a single
group of multiple cache entries, where the number of entries is not necessarily the same
for a given session. In this case, evicting per cache entry does not make sense - all
entries of a session should be evicted or not at all. Also, users can specify the max
number of sessions they want to remain in memory. Until infinispan supports group-based
eviction, translating this value to an appropriate max-entries is cumbersome and
imprecise.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira