[jboss-jira] [JBoss JIRA] (DROOLS-610) drools-worker-2 thread blocked and the main program blocks
Mario Fusco (JIRA)
issues at jboss.org
Thu Sep 25 03:29:03 EDT 2014
[ https://issues.jboss.org/browse/DROOLS-610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13005935#comment-13005935 ]
Mario Fusco commented on DROOLS-610:
------------------------------------
It's hard to tell just looking at that method and missing the big picture. If you want to keep using that method as it is from both your code and from inside a rule consequence I suggest to add a boolean to its list of arguments more or less as it follows:
{code}
public void modifier_element(String nom_slot, String valeur, boolean inConsequence) {
// do stuff
if (!inConsequence) {
this.session.fireAllRules();
}
// do other stuff
}
{code}
and invoke that method passing true when you call it from a consequence and false when you call it from your code.
Makes sense?
> drools-worker-2 thread blocked and the main program blocks
> ----------------------------------------------------------
>
> Key: DROOLS-610
> URL: https://issues.jboss.org/browse/DROOLS-610
> Project: Drools
> Issue Type: Bug
> Affects Versions: 6.1.0.Final
> Environment: linux
> Reporter: Nathalie ravenel
> Assignee: Mario Fusco
> Attachments: blocked.PNG, drools-worker-2.PNG, image001.jpg, main thread.PNG, pool-1-thread1.PNG
>
>
> Running our program, we got some deadlock on one thread (drools-worker-2). We investigated the problem using java memory control. The thread is blocked and the program also. The stack traces was registered for the different threads. The last trace for the thread was : org.drools.core.common.SynchronizedLeftTuplesSets.takeAll.
> There are 1111 Blocked count on one DeadLock on the thread.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)
More information about the jboss-jira
mailing list