]
Minh Hoang TO updated GTNPORTAL-1866:
-------------------------------------
Labels: synced (was: )
Issue with picketlink cache - cached items are never evicted
------------------------------------------------------------
Key: GTNPORTAL-1866
URL:
https://issues.jboss.org/browse/GTNPORTAL-1866
Project: GateIn Portal
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.1.0-GA
Environment: EPP 5.1.0.GA, Picketlink version is 1.1.7.GA
Reporter: Marek Posolda
Assignee: Boleslaw Dawidowicz
Labels: synced
Fix For: 3.2.0-M02
I think there is issue related to expiration of JBoss cache entries, which are used for
picketlink cache. Right now, JBoss cache in
server/default/deploy/gatein.ear/02portal.war/WEB-INF/organization/picketlink-idm/jboss-cache.xml
and jboss-cache-cluster.xml is configured to use Expiration algorithm:
<eviction wakeUpInterval="5000">
<default algorithmClass="org.jboss.cache.eviction.ExpirationAlgorithm"
eventQueueSize="1000000">
<property name="maxNodes" value="100000" />
<property name="timeToLive" value="120000" />
<property name="warnNoExpirationKey" value="false" />
</default>
</eviction>
Problem is that ExpirationAlgorithm requires support in Java code for eviction, which is
mentioned in
http://docs.jboss.org/jbosscache/3.1.0.CR1/userguide_en/html/eviction_pol...
. There is need to call something like:
// sets the expiry time for a node
cache.getRoot().addChild(fqn1).put(ExpirationConfiguration.EXPIRATION_KEY, future);
otherwise node is never evicted periodically. And I am seeing that this is not called in
Picketlink code and GateIn+Picketlink integration code. And I am seeing in JMX that nodes
are never evicted automatically after some time. Fact is that entries are cleared from
cache only by trigger of some events (For example after update of some user are entries
for this user evicted from cache).
Last week I was working on application for adding users into GateIn IDM database only
with plain SQL. And when I create users, I am not seeing them in organization management
portlet because query for get all users is never evicted from cache. I need to restart my
GateIn portal or trigger JMX eviction of picketlink cache (Operation
"invalidateAll" on MBean
exo:name=plidmcache,portal="portal",service=PicketLinkIDMCacheService .
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: