Hi,
It's been two weeks that I have a problem with the jboss cache library.
I don't know why but it seems that one of my EvictionTimer's Thread just disapears without logging anything.
Normally, this thread has to empty an nodeEventQueue_ (BoundedLinkedQueue class) every N seconds.
This queue reaches 100% occupation (static int 200 000) and then, all the threads of my application are blocked due to the fact that one thread tries to put an event in this already full queue and is stuck in the Timed_Waiting status.
This things appears several time per day, I can see that the thread is working by checking his log and sometimes, it just stops logging and if I do a Thread Dump, the thread is no more in the Thread Dump. I have noticed that each day I have the problem, this is always the same thread that disapears (in my cas Timer-10).
I've tried to tune my log4j to log some INFO and WARN but I didn't get anything interesting so far.
I've tried to put a Try Catch (RunTimeException) in the Run() method of the EvictionTimerTask but it didn't catch anything.
Stack of the thread that wants to put an event in this full queue :
Thread: http-0.0.0.0-8080-4 : priority:5, demon:true, threadId:1800, threadState:WAITING, lockName:EDU.oswego.cs.dl.util.concurrent.BoundedLinkedQueue@249c4a
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:485)
EDU.oswego.cs.dl.util.concurrent.BoundedLinkedQueue.put(BoundedLinkedQueue.java:303)
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:5919)
Do you have any ideas why the EvictionTimer Thread just stop working ?
Jboss : 4.2.3 GA