Freddy Exposito created CXF-5420:
------------------------------------

             Summary: Issue with EhCacheTokenStore using default LRU.
                 Key: CXF-5420
                 URL: https://issues.apache.org/jira/browse/CXF-5420
             Project: CXF
          Issue Type: Bug
    Affects Versions: 2.7.7, 2.6.10
            Reporter: Freddy Exposito
            Priority: Minor


HI All,

The Ehcache TokenStore implementation (org.apache.cxf.ws.security.tokenstore. 
EHCacheTokenStore) is evicting wrong elements from the token store. It’s 
happening very randomly in a heavy multi-thread application but at some point 
is trying to get a DerivedKeyToken (added before sending request to the server) 
that was evicted before the response was returned.
I actually  see the issue in the Ehcache Element implementation 
(http://jira.terracotta.org/jira/browse/EHC-1065) because the constructor of 
class Element  that the CXF EHCacheTokenStore implementation is using is not 
setting ‘lastAccessTime’ in the constructor. As lastAccessTime is being zero by 
default, all the DerivedKeyToken elements in the token store have 
lastAccessTime=0 and there is a possibility that a wrong element is evicted 
because the default ehcache LRU policy uses the ‘lastAccessTime’ to perform 
eviction.

I reported the issue to EHcache already although I haven’t received answer from 
them. In the meantime, would you consider to update EHCacheTokenStore to use a 
more suitable Element constructor that allows setting ‘lastAccessTime’ properly?

Thanks,




--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to