[jboss-jira] [JBoss JIRA] (DROOLS-987) Errors in Phreak under heavy and multi threaded load

Maciej Swiderski (JIRA) issues at jboss.org
Tue Oct 4 14:11:00 EDT 2016


    [ https://issues.jboss.org/browse/DROOLS-987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13302544#comment-13302544 ] 

Maciej Swiderski commented on DROOLS-987:
-----------------------------------------

it looks like the change we have done to resolve the problem are still causing some issue in ejb based tests of jbpm. That at the moment is not found what is the issue but looks like really weird one as it fails most of the time with transaction rollback due to hibernate trying to do an update on an entity that was not yet inserted. Thus causing exception as such update on JDBC layer returns 0 rows updated while the expectation is 1.

So at the moment linked above PRs (especially one in jbpm) cannot be merged.

> 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, 6.4.0.Final
>         Environment: linux
> Java 7
> kernel 3.16
>            Reporter: Jose Cavieres
>            Assignee: Mario Fusco
>         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)


More information about the jboss-jira mailing list