[
https://issues.jboss.org/browse/DROOLS-987?page=com.atlassian.jira.plugin...
]
Jose Cavieres reopened DROOLS-987:
----------------------------------
There is nothing bad in that code. That same code is included in both jbpm 6 books and in
the JBPM project:
* This listener should be used to automatically fire rules as soon as they get activated.
* Especially useful for executing business rule tasks as part of the process.
https://github.com/droolsjbpm/jbpm/blob/6.3.x/jbpm-flow/src/main/java/org...
See lines 82-83
Anyway, the problem doesn't disappear if you eliminate the listener and use
fireUntilHalt().
In order to verify that, in RulesJUnitTest.java you just have to eliminate(or /* */) the
lines 90-98 and eliminate the "//" in lines 135-136:
//Disparador disp= new Disparador();
//disp.start();
Regards
Errors in Phreak under heavy and multi threaded load
-----------------------------------------------------
Key: DROOLS-987
URL:
https://issues.jboss.org/browse/DROOLS-987
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 6.3.0.Final
Environment: linux
Java 7
kernel 3.16
Reporter: Jose Cavieres
Assignee: Marco Rietveld
Attachments: jbpm-bussinesruletask-concurrent-6-3-NEW.tgz,
jbpm-bussinesruletask-concurrent-6-3.tgz
Several threads are started, each one starts 1 jbpm process containing rule(s) task(s).
If the threads are few, everything works fine. Under heavy load nullPointerExceptions are
thown most of the time, less frequently fireAllRules never ends and CPU remains at 100%.
Aparently the setFocus method used by rule tasks is related to the problem.
The most comon error is:
Caused by: java.lang.NullPointerException
at
org.drools.core.common.LeftTupleSetsImpl.removeInsert(LeftTupleSetsImpl.java:141)
at org.drools.core.common.LeftTupleSetsImpl.addDelete(LeftTupleSetsImpl.java:80)
at
org.drools.core.reteoo.LeftInputAdapterNode.doDeleteSegmentMemory(LeftInputAdapterNode.java:295)
at
org.drools.core.reteoo.LeftInputAdapterNode.doDeleteObject(LeftInputAdapterNode.java:266)
at
org.drools.core.reteoo.LeftInputAdapterNode.retractLeftTuple(LeftInputAdapterNode.java:361)
at
org.drools.core.reteoo.ObjectTypeNode.doRetractObject(ObjectTypeNode.java:334)
at org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:317)
at
org.drools.core.reteoo.EntryPointNode.propagateRetract(EntryPointNode.java:358)
at
org.drools.core.phreak.PropagationEntry$Delete.execute(PropagationEntry.java:172)
at
org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:96)
at
org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:69)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.flushPropagations(StatefulKnowledgeSessionImpl.java:1993)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)