Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2418

Drools Session insert ConcurrentModificationException in Multithreading Enviroment

    Details

      Description

      In multithreading enviroment (with 50 active thread) sometimes occurs a ConcurrentModificationException , the complete stacktrace

      Caused by: java.util.ConcurrentModificationException
      at java.util.HashMap$HashIterator.nextEntry(HashMap.java:1091)
      at java.util.HashMap$ValueIterator.next(HashMap.java:1122)
      at org.drools.reteoo.ClassObjectTypeConf.getMatchingObjectTypes(ClassObjectTypeConf.java:171)
      at org.drools.reteoo.ClassObjectTypeConf.getObjectTypeNodes(ClassObjectTypeConf.java:163)
      at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:143)
      at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)
      at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)
      at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)
      at it.vtfinance.vtpie.mlp.bpm.conditions.DroolsCondition.passesCondition(DroolsCondition.java:52)
      at com.opensymphony.workflow.AbstractWorkflow.passesCondition(AbstractWorkflow.java:904)
      ... 24 more

      DroolsCondition is SINGLETONE, all thread use a same RuleBase but creates a new Session for each Thread.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tirelli Edson Tirelli
                  Reporter:
                  carned Davide Carnevali
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: