Bug 779740 (SOA-2102)

Summary: JbpmPersistenceException in RetryExecutor with high number of due jobs
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Martin Weiler <mweiler>
Component: JBPM - within SOAAssignee: Kevin Conner <kevin.conner>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.0.0 GA   
Target Milestone: ---   
Target Release: 5.0.2   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/SOA-2102
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
jBPM configured with JMS/JCA-Inflow based scheduler and message services
Last Closed: 2010-07-08 09:01:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Martin Weiler 2010-05-31 07:10:20 UTC
Date of First Response: 2010-06-12 04:00:27
Help Desk Ticket Reference: https://enterprise.redhat.com/issue-tracker/917023
project_key: SOA

With a high number of due jobs, the RetryExcecutor is failing to query the database for the first due job:

DEBUG [org.jboss.soa.esb.services.jbpm.integration.msg.RetryExecutor] Unexpected error rescheduling jobs, extending idle period
org.jbpm.persistence.JbpmPersistenceException: could not get first due job owned by 'RetryExecutor' ignoring jobs [490518
6, 4673400, ----a looong list---, 4895759]
    at org.jbpm.db.JobSession.getFirstDueJob(JobSession.java:101)
    at org.jbpm.db.JobSession.getFirstDueJob(JobSession.java:98)
    ... 2 more
Caused by: java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000 

Although it does not affect the function of the RetryExecutor, an additional check should be added so that the query triggered by the RetryExecutor is not affected by such a backlog.

Comment 1 Kevin Conner 2010-06-12 07:33:29 UTC
Link: Added: This issue related SOA-2122


Comment 2 Kevin Conner 2010-06-12 07:36:30 UTC
Link: Added: This issue depends JBESB-3347


Comment 3 Kevin Conner 2010-06-12 08:00:27 UTC
Updated in ESB codebase, will be in next merge.

Comment 4 David Le Sage 2010-06-17 05:58:46 UTC
The draft text for the Release Notes states:


https://jira.jboss.org/browse/JBESB-3347

    The RetryExecutor failed with an exception when it tried to query the database for the first "due
    job" when there was a large backlog of these jobs. This has been fixed by a change to make the
    maximum count applicable to all due jobs, not just suspended ones. As a result, this exception no
    longer occurs.


Comment 5 Jiri Pechanec 2010-07-08 09:01:38 UTC
Verified in source code