Re: [rules-users] Info on Drools 6 documentation

2013-11-18 Thread xat
You may use this thread to retrieve v6 Docs -
http://drools.46999.n3.nabble.com/Drools-v6-documentation-release-date-td4026659.html#a4026670



--
View this message in context: 
http://drools.46999.n3.nabble.com/rules-users-Info-on-Drools-6-documentation-tp4026789p4026803.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Weird classloader problem

2013-11-18 Thread Alexander Herwix
Hey guys, 

using Drools 6 RC4. I have a simple rule which should cast an object into a 
specialized object (if it is indeed a specialization) and insert that into the 
session.

rule Obj is SpecialObject
salience 201
when

$mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)
then
System.out.println(Obj is SpecialObj);

SpecialObj specialObj = (SpecialObj) $obj;
insert(specialObj);
end

This rule doesn't even compile and I get a nasty error: NoClassDefFoundError: 
com/iterranux/droolsjbpmHumanTask/domain/team__I (wrong name: 
com/iterranux/droolsjbpmHumanTask/domain/Team__I).

I mean it looks like the Class is present, but somehow it's lowercased 
somewhere. It's weird I can use some other obj but this doesn't work. Anyone 
seen something like this before? Maybe some other way to do what I want to do? 
I tried to declare a trait and don that obj with that but same result. 

Another question would be if it is really necessary to insert the object as a 
new fact, or could I access the nested property directly in a rule and typecast 
it there somehow? 

Cheers, Alex

Error java.lang.RuntimeException: Reloading agent exited via exception, please 
raise a jira
| Error at 
org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
| Error at 
sun.instrument.TransformerManager.transform(TransformerManager.java:188)
| Error at 
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
| Error at java.lang.ClassLoader.defineClass1(Native Method)
| Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
| Error at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
| Error at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
| Error at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
| Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
| Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
| Error at java.security.AccessController.doPrivileged(Native Method)
| Error at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
| Error at 
groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
| Error at 
groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
| Error at 
groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
| Error at java.lang.Class.forName0(Native Method)
| Error at java.lang.Class.forName(Class.java:266)
| Error at 
org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
| Error at java.lang.Class.forName0(Native Method)
| Error at java.lang.Class.forName(Class.java:266)
| Error at 
org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)
| Error at 
org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)
| Error at org.mvel2.ParserContext.hasImport(ParserContext.java:360)
| Error at 
org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)
| Error at 
org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)
| Error at 
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
| Error at 
org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
| Error at org.mvel2.MVEL.analyze(MVEL.java:680)
| Error at 
org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)
| Error at 
org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
| Error at 
org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
| Error at 
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
| Error at 
org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
| Error at org.mvel2.MVEL.analyze(MVEL.java:680)
| Error at org.mvel2.MVEL.analyze(MVEL.java:685)
| Error at 
org.drools.compiler.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:114)
| Error at 
org.drools.compiler.rule.builder.dialect.mvel.MVELDialect.analyzeBlock(MVELDialect.java:539)
| Error at 
org.drools.compiler.rule.builder.dialect.mvel.MVELConsequenceBuilder.build(MVELConsequenceBuilder.java:130)
| Error at 
org.drools.compiler.rule.builder.RuleBuilder.build(RuleBuilder.java:103)
| Error at 
org.drools.compiler.compiler.PackageBuilder.addRule(PackageBuilder.java:3160)
| Error at 
org.drools.compiler.compiler.PackageBuilder.compileRules(PackageBuilder.java:1047)
| Error at 

Re: [rules-users] Weird classloader problem

2013-11-18 Thread Martin Minka
I had similar problem and it was solved in 6.0.0.CR5.


2013/11/18 Alexander Herwix a...@herwix.com

 Hey guys,

 using Drools 6 RC4. I have a simple rule which should cast an object into
 a specialized object (if it is indeed a specialization) and insert that
 into the session.

 rule Obj is SpecialObject
 salience 201
 when

 $mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)
 then
 System.out.println(Obj is SpecialObj);

 SpecialObj specialObj = (SpecialObj) $obj;
 insert(specialObj);
 end

 This rule doesn't even compile and I get a nasty error:
 NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I
 (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I).

 I mean it looks like the Class is present, but somehow it's lowercased
 somewhere. It's weird I can use some other obj but this doesn't work.
 Anyone seen something like this before? Maybe some other way to do what I
 want to do? I tried to declare a trait and don that obj with that but same
 result.

 Another question would be if it is really necessary to insert the object
 as a new fact, or could I access the nested property directly in a rule and
 typecast it there somehow?

 Cheers, Alex

 Error java.lang.RuntimeException: Reloading agent exited via exception,
 please raise a jira
 | Error at
 org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
 | Error at
 sun.instrument.TransformerManager.transform(TransformerManager.java:188)
 | Error at
 sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
 | Error at java.lang.ClassLoader.defineClass1(Native Method)
 | Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
 | Error at
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 | Error at
 java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
 | Error at
 java.net.URLClassLoader.access$100(URLClassLoader.java:71)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 | Error at java.security.AccessController.doPrivileged(Native
 Method)
 | Error at
 java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
 | Error at
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
 | Error at
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
 | Error at
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at
 org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at
 org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)
 | Error at
 org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)
 | Error at
 org.mvel2.ParserContext.hasImport(ParserContext.java:360)
 | Error at
 org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)
 | Error at
 org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)
 | Error at
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
 | Error at
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:680)
 | Error at
 org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)
 | Error at
 org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
 | Error at
 org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
 | Error at
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
 | Error at
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:680)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:685)
 | Error at
 org.drools.compiler.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:114)
 | Error at
 org.drools.compiler.rule.builder.dialect.mvel.MVELDialect.analyzeBlock(MVELDialect.java:539)
 | Error at
 org.drools.compiler.rule.builder.dialect.mvel.MVELConsequenceBuilder.build(MVELConsequenceBuilder.java:130)
 | Error at
 org.drools.compiler.rule.builder.RuleBuilder.build(RuleBuilder.java:103)
 | Error at
 org.drools.compiler.compiler.PackageBuilder.addRule(PackageBuilder.java:3160)
 | Error at
 

Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread pmander
I appear to have resolved this issue by changing dialect to MVEL and setting
drools.permgenThreshold=0 in META-INF/drools.rulebase.conf. I only stumbled
upon this based on some hints in another post and when it didn't work I had
to debug the point at which the classes got created and worked back that the
permgen threshold was only used by mvel dialect rules. Appalling
documentation from a performance and system configuration perspective.



--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026806.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Weird classloader problem

2013-11-18 Thread Alexander Herwix
I actually got it to compile and work by prefixing the new var with $. Maybe 
it's a bug where the parser/compiler messes up, when a variable has no prefix 
and the same name as a class but in lowercase?! Is this even possible?

Anyway if someone has a similar problem, maybe this helps :)

Cheers, Alex


Am 18.11.2013 um 14:13 schrieb Martin Minka martin.mi...@gmail.com:

 I had similar problem and it was solved in 6.0.0.CR5.
 
 
 2013/11/18 Alexander Herwix a...@herwix.com
 Hey guys,
 
 using Drools 6 RC4. I have a simple rule which should cast an object into a 
 specialized object (if it is indeed a specialization) and insert that into 
 the session.
 
 rule Obj is SpecialObject
 salience 201
 when
 
 $mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)
 then
 System.out.println(Obj is SpecialObj);
 
 SpecialObj specialObj = (SpecialObj) $obj;
 insert(specialObj);
 end
 
 This rule doesn't even compile and I get a nasty error: NoClassDefFoundError: 
 com/iterranux/droolsjbpmHumanTask/domain/team__I (wrong name: 
 com/iterranux/droolsjbpmHumanTask/domain/Team__I).
 
 I mean it looks like the Class is present, but somehow it's lowercased 
 somewhere. It's weird I can use some other obj but this doesn't work. Anyone 
 seen something like this before? Maybe some other way to do what I want to 
 do? I tried to declare a trait and don that obj with that but same result.
 
 Another question would be if it is really necessary to insert the object as a 
 new fact, or could I access the nested property directly in a rule and 
 typecast it there somehow?
 
 Cheers, Alex
 
 Error java.lang.RuntimeException: Reloading agent exited via exception, 
 please raise a jira
 | Error at 
 org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
 | Error at 
 sun.instrument.TransformerManager.transform(TransformerManager.java:188)
 | Error at 
 sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
 | Error at java.lang.ClassLoader.defineClass1(Native Method)
 | Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
 | Error at 
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 | Error at 
 java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
 | Error at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 | Error at java.security.AccessController.doPrivileged(Native Method)
 | Error at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at 
 org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at 
 org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)
 | Error at 
 org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)
 | Error at org.mvel2.ParserContext.hasImport(ParserContext.java:360)
 | Error at 
 org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)
 | Error at 
 org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:680)
 | Error at 
 org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)
 | Error at 
 org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:680)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:685)
 | Error at 
 org.drools.compiler.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:114)
 | Error at 
 

Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread Mario Fusco
Hi,

I think there's a bit of confusion here and I agree this is caused by not
exhaustive documentation (we are trying to improve it).

The permgen threshold option is used for constraint jitting and that one
works exactly in the same way regardless of the dialects. However when using
the java dialect the permgen occupation grows not because of constraint
jitting but because we have to generate java classes to implement the
consequences.

To cut it short permgen threshold and dialects are 2 orthogonal things, but
it's true that keeping the threshold to 0 and using the mvel dialect is the
best combination to reduce to the minimum the permgen occupation, because
the first prevents the generation of java classes for constraints jitting
while the second has the same effect for what regards consequences.

Nevertheless there's a performance drawback in doing this because not
allowing constraint jitting means that they will be always evaluated in
interpreted mode, while for the same reason mvel consequences are a bit
slower than java ones. For this reason my personal advice is to look for the
best compromise between permgen occupation and performances for your
specific use case.

I hope this helps,
Mario



--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026810.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] 5.6.0.CR1 gives a NullPointerException in after evaluator

2013-11-18 Thread Davide Sottara
I tried to reproduce the problem, with no success.
Could you please create a self-contained unit test?
If confirmed, I'll fix the problem as soon as possible
Thanks
Davide

On 11/14/2013 04:48 AM, abr wrote:
 Hi everyone,

 I tried to switch from 5.5.0.Final to 5.6.0.CR1 and got a null pointer
 exception in the evaluation of the after evaluator.
 (Exact method is:
 /org.drools.base.evaluators.AfterEvaluatorDefinition.AfterEvaluator.evaluate(InternalWorkingMemory,
 InternalReadAccessor, InternalFactHandle, InternalReadAccessor,
 InternalFactHandle)/ )

 When debugging, the exception occurs at the very first line of the method,
 in:
 /if ( extractor1.isNullValue( workingMemory, handle1.getObject() ) || 
 extractor2.isNullValue( workingMemory, handle2.getObject() ) ) {
 return false;
 }
 /
 The cause of the exception is that handle1 is null.

 The rule where the exception occurs looks like:
 /MyFact(
 fromdate before[ 0d ] $min,
 ( todate == null || todate after[ 0d ] $max ) )
 /

 When the exception occurs, /MyFact.fromdate/ is not null, /$min/ is not
 null, /MyFact.todate/ is null, /$max/ is not null.
 In AfterEvaluator.evaluate : /extractor1/ refers to /MyFact.todate/,
 /extractor2/ refers to /$max/, /handle1/ is null, /handle2/ refers to the
 fact including the attribute to which /$max/ variable is bound to.

 Of course, this worked fine in 5.5.0.Final.
 I couldn't test this out in Drools 6.0.0.CR5 because I have dependencies to
 drools-spring JAR that does not exist anymore in 6.0.0.CR5.

 Is it simple to fix this problem?

 Thanks in advance.

 Best,
 Alexis



 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread pmander
Thanks for clearing this up. The overhead for us is negligible and more
important that the application is survivable. Using Java as the dialect
would appear to not be a option for anyone then?

We are using drools to process around 50Mil transactions against 15k rules.
This is distributed over 32 nodes to get the end to end performance we need.
Using java dialect on initial run with a mac perm size of 512Mb copes ok but
on subsequent runs we run out of perm gen space and the processes take up
tons of cpu and then run out of memory. For each run we have to recreate the
knowledge base.





--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026812.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] 5.6.0.CR1 gives a NullPointerException in after evaluator

2013-11-18 Thread Jonathan Knehr
In the past I've tried to reproduce a similar issue.

Don't know if this will help, but I could not reproduce the NPEs without 
running a large amount of events into the rule engine. A small unit test never 
reproduced these issues for me, which made it harder. Not sure about this issue 
in particular, but other ones I've seen seem to be related to the internal hash 
table eventually misplacing objects. This created all sorts of odd symptoms, 
namely NPEs all over the place in random drools classes. But I think all of 
these are just symptoms of the same bug at the core level somewhere. They all 
are related IMO.

Sent from my iPhone

 On Nov 18, 2013, at 9:48 AM, Davide Sottara dso...@gmail.com wrote:
 
 I tried to reproduce the problem, with no success.
 Could you please create a self-contained unit test?
 If confirmed, I'll fix the problem as soon as possible
 Thanks
 Davide
 
 On 11/14/2013 04:48 AM, abr wrote:
 Hi everyone,
 
 I tried to switch from 5.5.0.Final to 5.6.0.CR1 and got a null pointer
 exception in the evaluation of the after evaluator.
 (Exact method is:
 /org.drools.base.evaluators.AfterEvaluatorDefinition.AfterEvaluator.evaluate(InternalWorkingMemory,
 InternalReadAccessor, InternalFactHandle, InternalReadAccessor,
 InternalFactHandle)/ )
 
 When debugging, the exception occurs at the very first line of the method,
 in:
 /if ( extractor1.isNullValue( workingMemory, handle1.getObject() ) || 
extractor2.isNullValue( workingMemory, handle2.getObject() ) ) {
return false;
}
 /
 The cause of the exception is that handle1 is null.
 
 The rule where the exception occurs looks like:
 /MyFact(
fromdate before[ 0d ] $min,
( todate == null || todate after[ 0d ] $max ) )
 /
 
 When the exception occurs, /MyFact.fromdate/ is not null, /$min/ is not
 null, /MyFact.todate/ is null, /$max/ is not null.
 In AfterEvaluator.evaluate : /extractor1/ refers to /MyFact.todate/,
 /extractor2/ refers to /$max/, /handle1/ is null, /handle2/ refers to the
 fact including the attribute to which /$max/ variable is bound to.
 
 Of course, this worked fine in 5.5.0.Final.
 I couldn't test this out in Drools 6.0.0.CR5 because I have dependencies to
 drools-spring JAR that does not exist anymore in 6.0.0.CR5.
 
 Is it simple to fix this problem?
 
 Thanks in advance.
 
 Best,
 Alexis
 
 
 
 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread Mark Proctor
The documentation we have has now become very large, and is not easy to 
maintain and keep up to date with a small team our size. We rely on community 
contributions for this. Now that you have figured this out, my suggestion is to 
get involved and help us update the documentation. The documentation will not 
improve, unless we all get involved and help.
http://docs.jboss.org/drools/release/5.5.0.Final/droolsjbpm-introduction-docs/html/gettingstarted.html

Mark
On 18 Nov 2013, at 13:52, pmander paul.s.man...@gmail.com wrote:

 I appear to have resolved this issue by changing dialect to MVEL and setting
 drools.permgenThreshold=0 in META-INF/drools.rulebase.conf. I only stumbled
 upon this based on some hints in another post and when it didn't work I had
 to debug the point at which the classes got created and worked back that the
 permgen threshold was only used by mvel dialect rules. Appalling
 documentation from a performance and system configuration perspective.
 
 
 
 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026806.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread Mark Proctor
Are you saying the permgen is leaking? That you update the rules, and no 
perigean space is reclaimed?

There are some issues with the JVM, that I’ve seen before, which may be the 
problem. Such as the CMSClassUnloadingEnabled issue:
http://java.dzone.com/articles/busting-permgen-myths

I’d be interested to know if this is a pergmen leak, and if it continues on 
6.x. If it does, maybe you could work with us to find out why it’s not being 
reclaimed?

Mark

On 18 Nov 2013, at 16:56, pmander paul.s.man...@gmail.com wrote:

 Thanks for clearing this up. The overhead for us is negligible and more
 important that the application is survivable. Using Java as the dialect
 would appear to not be a option for anyone then?
 
 We are using drools to process around 50Mil transactions against 15k rules.
 This is distributed over 32 nodes to get the end to end performance we need.
 Using java dialect on initial run with a mac perm size of 512Mb copes ok but
 on subsequent runs we run out of perm gen space and the processes take up
 tons of cpu and then run out of memory. For each run we have to recreate the
 knowledge base.
 
 
 
 
 
 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026812.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread pmander
I'll try and get a unit test together to show this. Have a deadline tomorrow
though so will take a few days.



--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026816.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Drools Perm gen grows constantly

2013-11-18 Thread adarsh . chaini
We had this issue  where the permgen space was not reclaimed as CMS does 
not by default reclaim unless you use CMSClassUnloadingEnabled .
After that we have not seen this though the permgen space keeps growing 
with addition of rules.The only thing we are afraid that if the permgen 
space requirement becomes same/greater than the threshold  that CMS 
reclaims then what will happen?.We keep changing/increasing the permgen 
space but there is a limit to this at some point  we can't allocate more 
proportion of memory for permgen space only ...

Thanks
 
Regards,
Adarsh 

SENIOR LEAD DEVELOPMENT SPECIALIST
SCJP, SCWCD 
FINANCE TECHNOLOGY
HSBC BANK PLC HBEU
8 Canada Square,Canary Wharf,
London,E14 5HQ,United Kingdom
--
Phone   +44 207914720
Mobile  07595530105
Email.  adarsh.cha...@hsbcib.com




From:
Mark Proctor mproc...@codehaus.org
To:
Rules Users List rules-users@lists.jboss.org
Date:
18/11/2013 17:12
Subject:
Re: [rules-users] Drools Perm gen grows constantly
Sent by:
rules-users-boun...@lists.jboss.org



Are you saying the permgen is leaking? That you update the rules, and no 
perigean space is reclaimed?

There are some issues with the JVM, that I?ve seen before, which may be 
the problem. Such as the CMSClassUnloadingEnabled issue:
http://java.dzone.com/articles/busting-permgen-myths

I?d be interested to know if this is a pergmen leak, and if it continues 
on 6.x. If it does, maybe you could work with us to find out why it?s not 
being reclaimed?

Mark

On 18 Nov 2013, at 16:56, pmander paul.s.man...@gmail.com wrote:

 Thanks for clearing this up. The overhead for us is negligible and more
 important that the application is survivable. Using Java as the dialect
 would appear to not be a option for anyone then?
 
 We are using drools to process around 50Mil transactions against 15k 
rules.
 This is distributed over 32 nodes to get the end to end performance we 
need.
 Using java dialect on initial run with a mac perm size of 512Mb copes ok 
but
 on subsequent runs we run out of perm gen space and the processes take 
up
 tons of cpu and then run out of memory. For each run we have to recreate 
the
 knowledge base.
 
 
 
 
 
 --
 View this message in context: 
http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673p4026812.html

 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users





HSBC Bank plc may be solicited in the course of its placement efforts for 
a new issue, by investment clients of the firm for whom the Bank as a firm 
already provides other services. It may equally decide to allocate to its 
own proprietary book or with an associate of HSBC Group. This represents a 
potential conflict of interest. HSBC Bank plc has internal arrangements 
designed to ensure that the firm would give unbiased and full advice to 
the corporate finance client about the valuation and pricing of the 
offering as well as internal systems, controls and procedures to identify 
and manage conflicts of interest.

HSBC Bank plc
Registered Office: 8 Canada Square, London E14 5HQ, United Kingdom
Registered in England - Number 14259
Authorised by the Prudential Regulation Authority and regulated by the 
Financial Conduct Authority and the Prudential Regulation Authority



-
SAVE PAPER - THINK BEFORE YOU PRINT!

This transmission has been issued by a member of the HSBC Group
HSBC for the information of the addressee only and should not be
reproduced and/or distributed to any other person. Each page
attached hereto must be read in conjunction with any disclaimer
which forms part of it. Unless otherwise stated, this transmission
is neither an offer nor the solicitation of an offer to sell or
purchase any investment. Its contents are based on information
obtained from sources believed to be reliable but HSBC makes no
representation and accepts no responsibility or liability as to its
completeness or accuracy.___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Re: [rules-users] Weird classloader problem

2013-11-18 Thread Mark Proctor
I think it depends on the system. When we have symbols it attempts to see if 
they are classes are not, on some systems the file system does not recognise 
type and can get confused.

Mark


On 18 Nov 2013, at 15:17, Alexander Herwix a...@herwix.com wrote:

 I actually got it to compile and work by prefixing the new var with $. Maybe 
 it's a bug where the parser/compiler messes up, when a variable has no prefix 
 and the same name as a class but in lowercase?! Is this even possible?
 
 Anyway if someone has a similar problem, maybe this helps :)
 
 Cheers, Alex
 
 
 Am 18.11.2013 um 14:13 schrieb Martin Minka martin.mi...@gmail.com:
 
 I had similar problem and it was solved in 6.0.0.CR5.
 
 
 2013/11/18 Alexander Herwix a...@herwix.com
 Hey guys,
 
 using Drools 6 RC4. I have a simple rule which should cast an object into a 
 specialized object (if it is indeed a specialization) and insert that into 
 the session.
 
 rule Obj is SpecialObject
 salience 201
 when
 
 $mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)
 then
 System.out.println(Obj is SpecialObj);
 
 SpecialObj specialObj = (SpecialObj) $obj;
 insert(specialObj);
 end
 
 This rule doesn't even compile and I get a nasty error: 
 NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I 
 (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I).
 
 I mean it looks like the Class is present, but somehow it's lowercased 
 somewhere. It's weird I can use some other obj but this doesn't work. Anyone 
 seen something like this before? Maybe some other way to do what I want to 
 do? I tried to declare a trait and don that obj with that but same result.
 
 Another question would be if it is really necessary to insert the object as 
 a new fact, or could I access the nested property directly in a rule and 
 typecast it there somehow?
 
 Cheers, Alex
 
 Error java.lang.RuntimeException: Reloading agent exited via exception, 
 please raise a jira
 | Error at 
 org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
 | Error at 
 sun.instrument.TransformerManager.transform(TransformerManager.java:188)
 | Error at 
 sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
 | Error at java.lang.ClassLoader.defineClass1(Native Method)
 | Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
 | Error at 
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 | Error at 
 java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
 | Error at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 | Error at java.security.AccessController.doPrivileged(Native Method)
 | Error at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at 
 org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at 
 org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)
 | Error at 
 org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)
 | Error at org.mvel2.ParserContext.hasImport(ParserContext.java:360)
 | Error at 
 org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)
 | Error at 
 org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:680)
 | Error at 
 org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)
 | Error at 
 org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at 

Re: [rules-users] Weird classloader problem

2013-11-18 Thread Mark Proctor
I found that if you explicitly import the class, it can resolve the issue - 
instead of relying on package imports.

Mark
On 18 Nov 2013, at 18:31, Mark Proctor mproc...@codehaus.org wrote:

 I think it depends on the system. When we have symbols it attempts to see if 
 they are classes are not, on some systems the file system does not recognise 
 type and can get confused.
 
 Mark
 
 
 On 18 Nov 2013, at 15:17, Alexander Herwix a...@herwix.com wrote:
 
 I actually got it to compile and work by prefixing the new var with $. Maybe 
 it's a bug where the parser/compiler messes up, when a variable has no 
 prefix and the same name as a class but in lowercase?! Is this even possible?
 
 Anyway if someone has a similar problem, maybe this helps :)
 
 Cheers, Alex
 
 
 Am 18.11.2013 um 14:13 schrieb Martin Minka martin.mi...@gmail.com:
 
 I had similar problem and it was solved in 6.0.0.CR5.
 
 
 2013/11/18 Alexander Herwix a...@herwix.com
 Hey guys,
 
 using Drools 6 RC4. I have a simple rule which should cast an object into a 
 specialized object (if it is indeed a specialization) and insert that into 
 the session.
 
 rule Obj is SpecialObject
 salience 201
 when
 
 $mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)
 then
 System.out.println(Obj is SpecialObj);
 
 SpecialObj specialObj = (SpecialObj) $obj;
 insert(specialObj);
 end
 
 This rule doesn't even compile and I get a nasty error: 
 NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I 
 (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I).
 
 I mean it looks like the Class is present, but somehow it's lowercased 
 somewhere. It's weird I can use some other obj but this doesn't work. 
 Anyone seen something like this before? Maybe some other way to do what I 
 want to do? I tried to declare a trait and don that obj with that but same 
 result.
 
 Another question would be if it is really necessary to insert the object as 
 a new fact, or could I access the nested property directly in a rule and 
 typecast it there somehow?
 
 Cheers, Alex
 
 Error java.lang.RuntimeException: Reloading agent exited via exception, 
 please raise a jira
 | Error at 
 org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)
 | Error at 
 sun.instrument.TransformerManager.transform(TransformerManager.java:188)
 | Error at 
 sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
 | Error at java.lang.ClassLoader.defineClass1(Native Method)
 | Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
 | Error at 
 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
 | Error at 
 java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
 | Error at 
 java.net.URLClassLoader.access$100(URLClassLoader.java:71)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
 | Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
 | Error at java.security.AccessController.doPrivileged(Native 
 Method)
 | Error at 
 java.net.URLClassLoader.findClass(URLClassLoader.java:354)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)
 | Error at 
 groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at 
 org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)
 | Error at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 | Error at java.lang.Class.forName0(Native Method)
 | Error at java.lang.Class.forName(Class.java:266)
 | Error at 
 org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)
 | Error at 
 org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)
 | Error at org.mvel2.ParserContext.hasImport(ParserContext.java:360)
 | Error at 
 org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)
 | Error at 
 org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
 | Error at org.mvel2.MVEL.analyze(MVEL.java:680)
 | Error at 
 org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)
 | Error at 
 org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
 | Error at 
 org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
 | 

Re: [rules-users] Scaling Drools based application

2013-11-18 Thread Arul Prashanth
Right now our hands are tied using multiple sessions as we have Rule flow to
trigger various rules at different stages, but would give it a try.



-
- Prashanth
--
View this message in context: 
http://drools.46999.n3.nabble.com/Scaling-Drools-based-application-tp4026792p4026820.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Scaling Drools based application

2013-11-18 Thread Arul Prashanth
Thanks Laune, would consider this though in the future implementations. 

Is there an effective way to replace evals since we have OR conditions where
we end up using evals in decision tables. If I had to get rid of this, the
only option I foresee is to split into individual rules.

Does disabling JIT (just-in-time compilation), help in improving the Memory
usage of Drools.



-
- Prashanth
--
View this message in context: 
http://drools.46999.n3.nabble.com/Scaling-Drools-based-application-tp4026792p4026821.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] 5.6.0.CR1 gives a NullPointerException in after evaluator

2013-11-18 Thread Davide Sottara
Jonathan,
Drools 5.5 was never meant to be multi-threaded. 5.6 tries to put a few
patches here and there, 6.0 is going in that direction and 6.1 will
hopefully solve the problem.
Thanks for the hint to the internal hash table, it may give us ideas
on what to test next. However, if you or anyone could ever reproduce the
issue and submit a test
case that would be REALLY appreciated
Thanks
Davide

On 11/18/2013 12:04 PM, Jonathan Knehr wrote:
 In the past I've tried to reproduce a similar issue.

 Don't know if this will help, but I could not reproduce the NPEs without 
 running a large amount of events into the rule engine. A small unit test 
 never reproduced these issues for me, which made it harder. Not sure about 
 this issue in particular, but other ones I've seen seem to be related to the 
 internal hash table eventually misplacing objects. This created all sorts of 
 odd symptoms, namely NPEs all over the place in random drools classes. But I 
 think all of these are just symptoms of the same bug at the core level 
 somewhere. They all are related IMO.

 Sent from my iPhone

 On Nov 18, 2013, at 9:48 AM, Davide Sottara dso...@gmail.com wrote:

 I tried to reproduce the problem, with no success.
 Could you please create a self-contained unit test?
 If confirmed, I'll fix the problem as soon as possible
 Thanks
 Davide

 On 11/14/2013 04:48 AM, abr wrote:
 Hi everyone,

 I tried to switch from 5.5.0.Final to 5.6.0.CR1 and got a null pointer
 exception in the evaluation of the after evaluator.
 (Exact method is:
 /org.drools.base.evaluators.AfterEvaluatorDefinition.AfterEvaluator.evaluate(InternalWorkingMemory,
 InternalReadAccessor, InternalFactHandle, InternalReadAccessor,
 InternalFactHandle)/ )

 When debugging, the exception occurs at the very first line of the method,
 in:
 /if ( extractor1.isNullValue( workingMemory, handle1.getObject() ) || 
extractor2.isNullValue( workingMemory, handle2.getObject() ) ) {
return false;
}
 /
 The cause of the exception is that handle1 is null.

 The rule where the exception occurs looks like:
 /MyFact(
fromdate before[ 0d ] $min,
( todate == null || todate after[ 0d ] $max ) )
 /

 When the exception occurs, /MyFact.fromdate/ is not null, /$min/ is not
 null, /MyFact.todate/ is null, /$max/ is not null.
 In AfterEvaluator.evaluate : /extractor1/ refers to /MyFact.todate/,
 /extractor2/ refers to /$max/, /handle1/ is null, /handle2/ refers to the
 fact including the attribute to which /$max/ variable is bound to.

 Of course, this worked fine in 5.5.0.Final.
 I couldn't test this out in Drools 6.0.0.CR5 because I have dependencies to
 drools-spring JAR that does not exist anymore in 6.0.0.CR5.

 Is it simple to fix this problem?

 Thanks in advance.

 Best,
 Alexis



 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] 5.6.0.CR1 gives a NullPointerException in after evaluator

2013-11-18 Thread Jonathan Knehr
I only use it from a single thread. What I meant was that for example, for the 
same set of rules, the issue never was created with, say, 20 iterations of 
inserting the same facts/events over again. Instead, it was more on the order 
of a few hundred thousand before the NPEs started showing up. Literally running 
the same unit test in a loop until it NPE'ed. But all from a single thread...

Sent from my iPhone

 On Nov 18, 2013, at 4:00 PM, Davide Sottara dso...@gmail.com wrote:
 
 Jonathan,
 Drools 5.5 was never meant to be multi-threaded. 5.6 tries to put a few
 patches here and there, 6.0 is going in that direction and 6.1 will
 hopefully solve the problem.
 Thanks for the hint to the internal hash table, it may give us ideas
 on what to test next. However, if you or anyone could ever reproduce the
 issue and submit a test
 case that would be REALLY appreciated
 Thanks
 Davide
 
 On 11/18/2013 12:04 PM, Jonathan Knehr wrote:
 In the past I've tried to reproduce a similar issue.
 
 Don't know if this will help, but I could not reproduce the NPEs without 
 running a large amount of events into the rule engine. A small unit test 
 never reproduced these issues for me, which made it harder. Not sure about 
 this issue in particular, but other ones I've seen seem to be related to the 
 internal hash table eventually misplacing objects. This created all sorts of 
 odd symptoms, namely NPEs all over the place in random drools classes. But I 
 think all of these are just symptoms of the same bug at the core level 
 somewhere. They all are related IMO.
 
 Sent from my iPhone
 
 On Nov 18, 2013, at 9:48 AM, Davide Sottara dso...@gmail.com wrote:
 
 I tried to reproduce the problem, with no success.
 Could you please create a self-contained unit test?
 If confirmed, I'll fix the problem as soon as possible
 Thanks
 Davide
 
 On 11/14/2013 04:48 AM, abr wrote:
 Hi everyone,
 
 I tried to switch from 5.5.0.Final to 5.6.0.CR1 and got a null pointer
 exception in the evaluation of the after evaluator.
 (Exact method is:
 /org.drools.base.evaluators.AfterEvaluatorDefinition.AfterEvaluator.evaluate(InternalWorkingMemory,
 InternalReadAccessor, InternalFactHandle, InternalReadAccessor,
 InternalFactHandle)/ )
 
 When debugging, the exception occurs at the very first line of the method,
 in:
 /if ( extractor1.isNullValue( workingMemory, handle1.getObject() ) || 
   extractor2.isNullValue( workingMemory, handle2.getObject() ) ) {
   return false;
   }
 /
 The cause of the exception is that handle1 is null.
 
 The rule where the exception occurs looks like:
 /MyFact(
   fromdate before[ 0d ] $min,
   ( todate == null || todate after[ 0d ] $max ) )
 /
 
 When the exception occurs, /MyFact.fromdate/ is not null, /$min/ is not
 null, /MyFact.todate/ is null, /$max/ is not null.
 In AfterEvaluator.evaluate : /extractor1/ refers to /MyFact.todate/,
 /extractor2/ refers to /$max/, /handle1/ is null, /handle2/ refers to the
 fact including the attribute to which /$max/ variable is bound to.
 
 Of course, this worked fine in 5.5.0.Final.
 I couldn't test this out in Drools 6.0.0.CR5 because I have dependencies to
 drools-spring JAR that does not exist anymore in 6.0.0.CR5.
 
 Is it simple to fix this problem?
 
 Thanks in advance.
 
 Best,
 Alexis
 
 
 
 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Java Heap Space Out of Memory

2013-11-18 Thread newbie
I am currently using optaplanner 6.0.0.CR5, I have about 11000 planning
entity objects and about 1000 planning variable objects. Would that be the
cause of this problem?



--
View this message in context: 
http://drools.46999.n3.nabble.com/Java-Heap-Space-Out-of-Memory-tp4026825.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Transaction problems in high concurrency JBPM+Drools+Hibernate instalation

2013-11-18 Thread louis.jordaan
Hi

Did you ever find a solution to this problem? I am experiencing exactly the
same transaction issues and behavior, with the same configuration as a
argaldo.



--
View this message in context: 
http://drools.46999.n3.nabble.com/rules-users-Transaction-problems-in-high-concurrency-JBPM-Drools-Hibernate-instalation-tp4020798p4026826.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Transaction problems in high concurrency JBPM+Drools+Hibernate instalation

2013-11-18 Thread Louis
lautaro.chiarle lautaro.chiarle at fluxit.com.ar writes:

 
 Hi jwest,
 
 I've uploaded a .zip file (sancor-test-cases.zip) with a mavenized 
project
 you can use as example.
 
 It includes a JUnit test called ar.com.sancor.test.ConcurrentServiceTest,
 which builds an Spring context to start a JBPM engine and attemps to start 
2
 processes simustaneously.
 
 The DB used is Derby, but you can change it to any robust DBMS you want.
 
 The result we are getting is:
 org.springframework.transaction.UnexpectedRollbackException: JTA 
transaction
 unexpectedly rolled back (maybe due to a timeout);
 
 Please let me know any issue you find executing the Test Case.
 
 Thanks in advance,
 
 sancor-test-cases_v3.zip
 http://drools.46999.n3.nabble.com/file/n4021722/sancor-test-cases_v3.zip  
 
 --
 View this message in context: http://drools.46999.n3.nabble.com/rules-
users-Transaction-problems-in-high-concurrency-JBPM-Drools-Hibernate-
instalation-tp4020798p4021722.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users at lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users
 
 

Hi 

Did you ever find a solution to this problem? I am experiencing exactly the 
same transaction issues and behavior.


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users