Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-5740

ConcurrentModificationException when building KieBase

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.46.0.Final
    • 7.45.0.Final
    • executable model
    • None
    • Undefined
    • NEW
    • NEW
    • ---
    • ---

    Description

      When building KieBases in parallel, I get the following stack trace:

       

      java.util.ConcurrentModificationExceptionjava.util.ConcurrentModificationException at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1225) at org.drools.modelcompiler.builder.generator.DrlxParseUtil.getAccessor(DrlxParseUtil.java:748) at org.drools.modelcompiler.builder.generator.DrlxParseUtil.nameExprToMethodCallExpr(DrlxParseUtil.java:152) at org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.nameExpr(ExpressionTyper.java:320) at org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.toTypedExpressionRec(ExpressionTyper.java:213) at org.drools.modelcompiler.builder.generator.expressiontyper.ExpressionTyper.toTypedExpression(ExpressionTyper.java:144) at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.parseBinaryExpr(ConstraintParser.java:341) at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.getDrlxParseResult(ConstraintParser.java:134) at org.drools.modelcompiler.builder.generator.drlxparse.ConstraintParser.drlxParse(ConstraintParser.java:102) at org.drools.modelcompiler.builder.generator.visitor.pattern.PatternDSL.findAllConstraint(PatternDSL.java:136) at org.drools.modelcompiler.builder.generator.visitor.pattern.PatternDSL.buildPattern(PatternDSL.java:235) at org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit(ModelGeneratorVisitor.java:145) at org.drools.compiler.lang.descr.PatternDescr.accept(PatternDescr.java:288) at org.drools.modelcompiler.builder.generator.visitor.AndVisitor.visit(AndVisitor.java:50) at org.drools.modelcompiler.builder.generator.visitor.ModelGeneratorVisitor.visit(ModelGeneratorVisitor.java:86) at org.drools.modelcompiler.builder.generator.ModelGenerator.processRule(ModelGenerator.java:187) at org.drools.modelcompiler.builder.generator.ModelGenerator.generateModel(ModelGenerator.java:160) at org.drools.modelcompiler.builder.ModelBuilderImpl.compileKnowledgePackages(ModelBuilderImpl.java:284) at org.drools.modelcompiler.builder.ModelBuilderImpl.buildRules(ModelBuilderImpl.java:220) at org.drools.modelcompiler.builder.ModelBuilderImpl.postBuild(ModelBuilderImpl.java:130) at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:111) at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:97) at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:268) at org.drools.compiler.kie.builder.impl.AbstractKieProject.buildKnowledgePackages(AbstractKieProject.java:216) at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:80) at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:279) at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:247) at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:204)
      

      Also:

       

      java.util.ConcurrentModificationExceptionjava.util.ConcurrentModificationException at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1225) at org.drools.modelcompiler.CanonicalKieModule.createKieBase(CanonicalKieModule.java:213) at org.drools.compiler.kie.builder.impl.KieContainerImpl.createKieBase(KieContainerImpl.java:415) at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieBase(KieContainerImpl.java:405) at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieBase(KieContainerImpl.java:400) at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.buildDroolsScoreDirectorFactory(ScoreDirectorFactoryFactory.java:264) at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.decideMultipleScoreDirectorFactories(ScoreDirectorFactoryFactory.java:109) at org.optaplanner.core.impl.score.director.ScoreDirectorFactoryFactory.buildScoreDirectorFactory(ScoreDirectorFactoryFactory.java:74) at org.optaplanner.core.impl.solver.DefaultSolverFactory.buildScoreDirectorFactory(DefaultSolverFactory.java:115) at org.optaplanner.core.impl.solver.DefaultSolverFactory.buildSolver(DefaultSolverFactory.java:83) at org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner.call(SubSingleBenchmarkRunner.java:96) at org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner.call(SubSingleBenchmarkRunner.java:33) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      

      Attachments

        Issue Links

          Activity

            People

              lpetrovi@redhat.com Lukáš Petrovický (Inactive)
              lpetrovi@redhat.com Lukáš Petrovický (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: