6 Replies Latest reply on Mar 27, 2006 10:13 AM by julian_k

    call for jBPM performance problems

    tom.baeyens

      hi,

      i have seen some reports about tasklists fetching being slow. i tried to reproduce, but couldn't. explicitely, i have checked wether task list fetching did not suffer from n+1 select. i checked both the personal tasklist (with jbpmContext.getTasklist("johndoe")) and the group task list (with jbpmContext.getGroupTasklist(actorIds)).

      any tips on perceived bottlenecks are appreciated. the more detailed, the faster we can fix em :-) but that is not a requirement.

      regards, tom.

        • 1. Re: call for jBPM performance problems
          jbpmndc

          Tom,
          This is off topic. But is there a book in the works? I think there is a demand to see the value of jbpm and how to get started with it.

          • 2. Re: call for jBPM performance problems
            julian_k

            I have the same problem in a production system where one group could have hundreds of tasks. I am looking into how one can achieve SQL pagination, as doing this in the application server may be too much overhead. The problem is compounded by the use of a Comparator b/c the jBPM task lists are not sorted by date created. Once this is in place, I imagine the performance will be better, but I think the jBPM API should support offsets and limits. Otherwise, when the task list are shorter, the performance is acceptable. I hope this helps, and I would appreciate any feedback on the pagination issue.

            Thanks,
            Julian

            • 3. Re: call for jBPM performance problems
              tom.baeyens

              adding optional pagination parameters to the task list is a good idea, i think. i'll create a jira issue to try it out.

              regards, tom.

              • 4. Re: call for jBPM performance problems
                tom.baeyens

                we think about writing a book, but the plans are not yet very concrete.

                regards, tom.

                • 5. Re: call for jBPM performance problems
                  julian_k

                  I continually receive a deadlock error during insertion into the JBPM_LOG table...since there is no user control over the auditiing process, this would seem to be a jbpm application error. Any help on resolving this issue would be appreciated. This is on Postgresql 7.3.x, Tomcat 5.5.x, Java 5, JBPM 3.

                  • 6. Re: call for jBPM performance problems
                    julian_k

                    I'm sorry, I posted too hastily...here is the flow of calls to jbpm:
                    1) Load processinstance from newly opened JbpmSession
                    2) Get ContextInstance and delete a variable
                    3) Get TaskInstances from ProcessInstance's TaskManagementInstance
                    4) Loop through the TaskInstances and if the task has not ended, set its actorID and description (custom field)
                    5) Get graphSession from JbpmSession and saveProcessInstance
                    6) Close JbpmSession

                    After analyzing this a bit, I am thinking I may need to flush the database at one point in the above steps. Otherwise, I would be pleased if someone could comment on whether or not this is a performance issue of JBPM.