1 Reply Latest reply on May 17, 2017 10:53 PM by michael.e.moorman

    Drools 6.4.0 Intermittent exceptions for sub-process

    gppadar

      ERROR org.drools.compiler.kie.builder.impl.AbstractKieModule  - Unable to build KieBaseModel:testKnowledgeBase

      [-1,-1]: Process 'post_exe_reg_reporting_credit_common' [trac-reporting.post_exe_reg_reporting_credit_common]: Process has no start node.

       

      java.lang.RuntimeException: Error while creating KieBase[Message [id=1, level=ERROR, path=package/flow/test_process.bpmn2, line=-1, column=0

         text=Process 'test_process' [package.test_process]: Process has no start node.]]

              at org.drools.compiler.kie.builder.impl.KieContainerImpl.getKieBase(KieContainerImpl.java:450)

              at org.drools.compiler.kie.builder.impl.KieContainerImpl.newKieSession(KieContainerImpl.java:604)

        • 1. Re: Drools 6.4.0 Intermittent exceptions for sub-process
          michael.e.moorman

          I also am seeing this error appear intermittently as of 6.4.0

          [-1,-1]: Process 'RF10708_69: Enhanced Authority Review' [731240]: Process has no start node.

           

          And below, it lists the whole rule flow it errored on, which includes a valid start node:

          <?xml version=\"1.0\" encoding=\"UTF-8\"?>

          <process xmlns=\"http://drools.org/drools-5.0/process\"

                   xmlns:xs=\"http://www.w3.org/2001/XMLSchema-instance\"

                   xs:schemaLocation=\"http://drools.org/drools-5.0/process drools-processes-5.0.xsd\"

                   type=\"RuleFlow\" name=\"RF17731_39: Product and Program Validation\" id=\"719930\" version=\"39\" package-name=\"com.mycompany\">

           

            <header>

            <imports>

            </imports>

            </header>

            <nodes>

            <start id=\"70004\" name=\"Start\" x=\"0\" y=\"0\"/>

            <ruleSet id=\"50278505\" name=\"50278505\" x=\"100\" y=\"100\" ruleFlowGroup=\"RF17731_39_50278505\" />

            <ruleSet id=\"50278508\" name=\"50278508\" x=\"200\" y=\"200\" ruleFlowGroup=\"RF17731_39_50278508\" />

            <ruleSet id=\"50278506\" name=\"50278506\" x=\"300\" y=\"300\" ruleFlowGroup=\"RF17731_39_50278506\" />

            <ruleSet id=\"50278507\" name=\"50278507\" x=\"400\" y=\"400\" ruleFlowGroup=\"RF17731_39_50278507\" />

            <end id=\"80004\" name=\"EndNode80004\" x=\"500\" y=\"500\" terminate=\"true\" />

            </nodes>

            <connections>

            <connection from=\"70004\" to=\"50278505\"/>

            <connection from=\"50278505\" to=\"50278508\"/>

            <connection from=\"50278508\" to=\"50278506\"/>

            <connection from=\"50278506\" to=\"50278507\"/>

            <connection from=\"50278507\" to=\"80004\"/>

            </connections>

          </process>

           

           

          We just migrated to 6.4 and had not experienced this issue before. Right now we are working around it by catching the exception and then retrying the process until it works. I'd say it happens 1/10 times on startup in our configuration.

           

          Each time it occurs, it is on a different rule flow. It's always this error though:

          [-1,-1]: Process '<rule flow name>' [<some_number>]: Process has no start node.

           

          One other note - we load our rules in parallel, so it could be a concurrency issue.

           

          Is there a bug we can open up against this one? I'm glad I'm not the only one observing the problem.

           

          Thanks

           

          Mike