-
1. Re: Eviction node event queue warning
skajotde Aug 21, 2008 1:20 PM (in response to em161100)I'm not sure that it is good to have a thread every 1 seconds cleaning the cache
This parameter doesn't clean cache - just configure period of scanning cache queue to plan cleaning. On heavy load this parameter sometimes would be set to milliseconds (it is not available feature). Try 1 second.
This settings helps me in same problem, but maybe my load wasn't so high as yours.
Maybe try increase size of region or divide objects into subregions (are you using hibernate ?)
ps
Post configurations with tags code. -
2. Re: Eviction node event queue warning
em161100 Aug 22, 2008 4:52 AM (in response to em161100)Hello and thanks for the help,
The problem came back even after reducing the sleep time to 2 seconds.
I could see that every 2 seconds the JVM cpu utilization jumps high and I get many warning messages. When the problem happens the JVM takes about 250M, mostly for JBoss cache.
I will try to reduce the max nodes to 5000 and set the sleep time to 1 second.
I still don't understand how JBoss should be configured. Should I change the queue size from 200,000 ? Does it have any implication on my situation ?
Thanks again,
Elad. -
3. Re: Eviction node event queue warning
manik Aug 22, 2008 5:20 AM (in response to em161100)Yes, try increasing the queue size. Implications are memory usage.
-
4. Re: Eviction node event queue warning
em161100 Aug 23, 2008 8:50 AM (in response to em161100)Hello,
The problem came back again even after setting the queue size to 500,000.
I can't just ignore this problem because it just takes too much cpu.
I have a question regarding the way the eviction work. I thought that the problem happens maybe because of the way I evict my objects and for some reason the cache thinks that the object was revisited and therefor adds it again to the cache. This is what I do in my eviction listener :
public void logNodeEvent(NodeEvent ne) {
Fqn fqnActionFather = ...
// handling evicition of nodes according to the object type
if (ne.getType().name().equals("NODE_EVICTED")) {
if (ne.getFqn().size() > 0) {
if (ne.getFqn().isChildOf(fqnActionFather )) { String id= (String) ne.getFqn().getLastElement();
Node node = ne.getCache().getNode(ne.getFqn());
if (node != null) {
Action action = (Action) node.get(id);
// handle eviction
}
.
.
.
.
Thanks for the help,
Elad. -
5. Re: Eviction node event queue warning
em161100 Aug 25, 2008 11:18 AM (in response to em161100)Hello,
I tried the latest 2.2.0.CR7. I saw on another similar reply that it helped.
It didn't help me. My scenario is very basic and when ever I reach more than 10000 nodes it comes back. I tried increasing the queue size up to 500000 and it didn't help either.
Did anyone checked this scenario ? I saw several JIRA issues related to this and it is not clear if it was remarked as a bug. From the following issue raised in the forum it looks like someone had this fixed in CR7, meaning that it might was a bug on the latest GA :
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=139650
Thanks,
Elad. -
6. Re: Eviction node event queue warning
manik Aug 25, 2008 2:48 PM (in response to em161100)It would certainly re-add the object in the cache - in your eviction listener you are doing a cache.get() again which will trigger a VISIT event. :-)
What are you trying to do in your eviction listener anyway? The actual eviction is handled by the eviction policy.