JBossCache eviction queue fills up
Issue
I am using JBoss Cache and many threads on my server have become stuck waiting on JBoss cache to retrieve data from or put data into the cache. There are threads with stack traces like
EDU.oswego.cs.dl.util.concurrent.BoundedLinkedQueue.put(BoundedLinkedQueue.java:296)
org.jboss.cache.eviction.Region.putNodeEvent(Region.java:141)
org.jboss.cache.interceptors.EvictionInterceptor.doEventUpdatesOnRegionManager(EvictionInterceptor.java:149)
org.jboss.cache.interceptors.EvictionInterceptor.updateNode(EvictionInterceptor.java:122)
org.jboss.cache.interceptors.EvictionInterceptor.invoke(EvictionInterceptor.java:97)
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
org.jboss.cache.interceptors.PessimisticLockInterceptor.invoke(PessimisticLockInterceptor.java:206)
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
org.jboss.cache.interceptors.UnlockInterceptor.invoke(UnlockInterceptor.java:32)
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
org.jboss.cache.interceptors.TxInterceptor.handleNonTxMethod(TxInterceptor.java:379)
org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:174)
org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:68)
org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:138)
org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5934)
org.jboss.cache.TreeCache.get(TreeCache.java:3656)
...
and possibly seeing warnings like
eviction node event queue size is at 98% threshold value of capacity: 200000 You will need to reduce the wakeUpIntervalSeconds
parameter
The data should be evicted by the cache, as it should be large enough to hold everything. Why is the eviction queue filling up?
Environment
- JBoss Enterprise Application Platform (EAP)
- JBoss Enterprise Portal Platform (EPP)
- JBoss Cache
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.