[rules-users] PermGen OOM and shadow proxies
Andrew Thompson
andyjbs at yahoo.com
Wed Oct 10 12:39:49 EDT 2007
Have you tried just increasing the size of your PERM generation? Maybe it is not a leak but simply that you need just a little more than the JVM's default limit?
--
Andrew Thompson
----- Original Message ----
From: s erel <erelsagi at gmail.com>
To: Rules Users List <rules-users at lists.jboss.org>
Sent: Wednesday, October 10, 2007 11:07:01 AM
Subject: Re: [rules-users] PermGen OOM and shadow proxies
I've tried it with trunk and the OOM error still happens.
In our project working memories/facts are not shared between threads. One thread does not interfere with another thread rule evaluation.
Do we need shadow proxies for such a scenario?
The document says:
IMPORTANT: disabling shadow facts for a class inhibits the
ability of the engine keep track of changes to that class attributes. It
means, once asserted, a fact of that class MUST NOT change any of its
attributes or the engine may start to present unpredictable behavior. It
does not help to use update(). The only way to safely change an
attribute of a fact whose shadow fact is disabled is to call
modifyRetract() before changing the attribute, change the attribute and
call modifyAssert()
What about when retracting in order to assert a new reference? Is it safe to use normal retract() ?
On 10/8/07, Mark Proctor <mproctor at codehaus.org> wrote:
s erel wrote:
I understand that shadow facts are created once during
building.
Still, the application crashes in less than a minute when shadow facts
are enabled and it runs for hours when they are disabled.
I was assuming it to be related to a corrupted data structure that
leaks.
Can you think of such a case?
Are there any limitations for shadow facts (besides them being final)?
Can you try this with trunk and let us know if it still happens?
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/
On 10/8/07, Mark Proctor <
mproctor at codehaus.org> wrote:
s erel wrote:
Hello,
I've posted before regarding this issue.
We currently evaluating drools 4.01 for our project. We've noticed that
the perm gen space grows at a rapid rate and that eventually results
in a OOM. When shadow facts are disabled, the problem seems to go away
(or at least not as noticeable as before).
Any ideas?
What is the effect of a shadowed object which itself contains complex
objects that are also involved in a pattern (through inline eval)?
when the system encounters a new Class, and shadow is enabled, it
generates a proxy to that class - however this is a one time operation.
The only way that shadow proxies would continue to be created would be
if you where continually creating or loading new classes or
redefinitions of the old classes.
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
____________________________________________________________________________________
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
http://travel.yahoo.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20071010/c0762ca2/attachment.html
More information about the rules-users
mailing list