In defence of the java library designers, at the time when the ConcurrentModificationException was introduced (java 1.2) the java.util.concurrent package was three versions away from existence.  :)

GreG

On Jun 22, 2010, at 6:11 PM, Michael Neale <michael.neale@gmail.com> wrote:

FYI - ConcurrentModificationException is the most misleading exception name  ever !!! - it never really means what you think it means - it means you were modifying some collection while dealing with its iterator or similar - doesn't even need to be more than one thread. How annoying !

So mentally, replace ConcurrentModificationException with "ModifyingACollectionWhileIteratingException" ! Or else, like me, waste years of your life fretting about threading issues only to realise that isn't the problem (and its usually something far simpler).



On Tue, Jun 22, 2010 at 11:25 PM, Mauricio Salatino <salaboy@gmail.com> wrote:
Are you inserting facts from different threads in a statefull session?

On Tue, Jun 22, 2010 at 10:21 AM, <Tom.E.Murphy@wellsfargo.com> wrote:
Anybody have any ideas on this?
 
We are seeing ConcurrentModificationException while inserting objects into working memory. This happens occasionally, either at service start-up, where the first transaction is being submitted and the rules are loading for the first time, or sometimes under heavy loads with lots of transactions being processed by the service:
Drools 5.0.1-GA
AS: Web Logic
JVM: 1.5
 
Fragment of stack trace:
Caused by: java.util.ConcurrentModificationException
java.util.HashMap$HashIterator.nextEntry(HashMap.java:2117)
java.util.HashMap$ValueIterator.next(HashMap.java:2147)
org.drools.reteoo.EntryPointNode.updateSink(EntryPointNode.java:285)
org.drools.reteoo.ObjectTypeNode.attach(ObjectTypeNode.java:279)
org.drools.reteoo.builder.PatternBuilder.attachObjectTypeNode(PatternBuilder.java:234)
org.drools.reteoo.ClassObjectTypeConf.<init>(ClassObjectTypeConf.java:93)
org.drools.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(ObjectTypeConfigurationRegistry.java:58)
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:849)
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:216)
com.wellsfargo.ARGenT.Execution.DefaultLoader.Load(DefaultLoader.java:16)
 
 
Tom Murphy

Business Process Consultant
Wells Fargo HCFG - CORE Deal Decisioning Platform

800 S. Jordan Creek Parkway | West Des Moines, IA 50266
MAC: X2301-01B
Office: 515 324 4853 | Mobile: 515 423 4334

tom.e.murphy@wellsfargo.com

This transmission may contain information that is confidential and/or proprietary. If you are not the individual or entity to which it is addressed, note that any review, disclosure, copying, retransmission, or other use is strictly prohibited. If you received this transmission in error, please notify the sender immediately and delete the material from your system.
 
 
 

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev




--
- CTO @ http://www.plugtree.com  
- MyJourney @ http://salaboy.wordpress.com
- Co-Founder @ http://www.jbug.com.ar

- Salatino "Salaboy" Mauricio -

_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev




--
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev