<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>We have encountered a problem with a lock getting generated on an AbstractRuleBase and then never released causing new threads to not be able to execute in that RuleBase. We are on an older version 5.0.1 of Drools and are working on creating a unit test that we can use to see if the defect exists in newer releases. That said, any tips that somebody might have to reproduce a concurrency issue related to rule bases used across threads would be very helpful. Or if there are other similar JIRA entries that we can look at that?<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>This occurs only when the system is under relatively high load and there potentially could be 100 threads attempting to access and use the same rulebase.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>This is very similar to this JIRA:<o:p></o:p></p><p class=MsoNormal style='text-indent:.5in'><a href="https://issues.jboss.org/browse/JBRULES-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel">https://issues.jboss.org/browse/JBRULES-2086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel</a><o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>We have confirmed that we have the fix generated in that ticket.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>The general related stack traces for the waiting threads is &nbsp;:<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal style='margin-left:.5in'>java.lang.Thread.State: WAITING<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8230;<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:423)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractRuleBase.readLock(AbstractRuleBase.java:414)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:866)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp; &#8230;<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp; java.lang.Thread.State: BLOCKED on org.drools.reteoo.ReteooStatefulSession@fec3cf owned by: DefaultMessageListenerContainer-145<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:627)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.base.FireAllRulesRuleBaseUpdateListener.beforeRuleBaseUnlocked(FireAllRulesRuleBaseUpdateListener.java:41)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.event.RuleBaseEventSupport.fireBeforeRuleBaseUnlocked(RuleBaseEventSupport.java:123)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractRuleBase.unlock(AbstractRuleBase.java:408)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:517)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:388)<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&#8230;..<o:p></o:p></p></div></body></html>