4 Replies Latest reply on Oct 10, 2007 4:51 AM by Koen Aers

    Large "Root" ProcessDefinition loads extremely slowly in Des

    Randy Gullett Newbie

      In our current JBPM setup, we have one very large processdefinition and a lot of smaller ones. The complex one is located in the root directory (src/main/definitions/workflow). All other processdefinitions are located in some subfolder. When I open the complex one which is at the root, it takes an extremely long time (4-5 minutes) to load.

      Without looking at the source, I'm guessing that it's scanning all subfolders for processdefinition.xml files and then loading them because when I move it somewhere else it works fine. Is there some intended ability to control click through the subprocesses (which doesn't seem to work)? If so, can this functionality be removed unless it's actually going to work?

        • 1. Re: Large
          Koen Aers Master

          Are you using the GPD? If so, what version? If it is the latest release, can you post the processdefinition that produces this? Or open a JIRA issue to which you attach this info?

          Regards,
          Koen

          • 2. Re: Large
            joe freeman Newbie

            I can reply to this.

            The project has 50+ process definitions located in a hierarchical fashion where the packaging structure generally matches the process-to-subprocess hierarchy. The top level process definition sits at the top and the other process definitions sit underneath it, probably 5 or 6 deep. It takes 5 minutes open processDefinition.xml from the top level in Eclipse using jbpm-jpdl-designer.3.1.0.

            The first directory structure shows our "problem" layout. If you move defs.processDefinition.xml into a subdirectory than it opens instantly. So the secnd directory structure works fine.

            example poorly performing number
            defs
            defs.processDefinition.xml
            defs.sub1
            defs.sub1.processDefinition.xml
            defs.sub2
            defs.sub2.processDefinitions.xml
            defs.sub2.sub3
            defs.sub2.sub3.processDefinition.xml
            defs.sub2.sub3.sub4
            defs.sub2.sub3.sub4.processDefinition.xml
            defs.sub2.sub3.sub5
            defs.sub2.sub3.sub5.processDefinition.xml
            defs.sub2.sub3.sub6
            defs.sub2.sub3.sub6.processDefinition.xml
            --45+ other entries follow--

            Example well performing structure
            defs
            defs.master
            defs.master.processDefinition.xml
            defs.sub1
            defs.sub1.processDefinition.xml
            defs.sub2
            defs.sub2.processDefinitions.xml
            defs.sub2.sub3
            defs.sub2.sub3.processDefinition.xml
            defs.sub2.sub3.sub4
            defs.sub2.sub3.sub4.processDefinition.xml
            defs.sub2.sub3.sub5
            defs.sub2.sub3.sub5.processDefinition.xml
            defs.sub2.sub3.sub6
            defs.sub2.sub3.sub6.processDefinition.xml
            --45+ other entries follow--

            We're pretty convinced that there is a recursion problem. 2nd level process definitions with several children also have slightly slower performance but not as bad as the instance at the top.

            • 3. Re: Large
              Randy Gullett Newbie

              And we are using the latest version of the GPD.

              • 4. Re: Large
                Koen Aers Master

                Could be a recursion problem yes. Open a JIRA issue attaching this structure so that we are able to reproduce it. In the meantime use your workaround.

                Regards,
                Koen