Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-9135

JobExecutor acquisition endless loop if waitTimeInMillis is larger then maxWait

    XMLWordPrintable

    Details

    • Type: Bug Report
    • Status: Open
    • Priority: L3 - Default
    • Resolution: Unresolved
    • Affects Version/s: 7.6.0, 7.7.0, 7.8.0, 7.9.0
    • Fix Version/s: 7.7.x, 7.8.x, 7.9.x
    • Component/s: engine
    • Labels:
      None

      Description

      If the waitTimeInMillis is configured larger then the maxWait, which could accidentally happen if waitTimeInMillis is only set and the maxWait default is used, then
      the job acquisition timeout is repeatedly zero. This will end in an endless loop.

      Locally I was not able to clean shutdown the tomcat, I had to kill it.

      Reproduced with 7.9.0 tomcat distro and following bpm-platform.xml :

      <?xml version="1.0" encoding="UTF-8"?>
      <bpm-platform xmlns="http://www.camunda.org/schema/1.0/BpmPlatform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.camunda.org/schema/1.0/BpmPlatform http://www.camunda.org/schema/1.0/BpmPlatform ">
      
        <job-executor>
        <job-acquisition name="default">
          <properties>
            <property name="maxJobsPerAcquisition">5</property>
            <property name="waitTimeInMillis">600000</property>
            <property name="lockTimeInMillis">400000</property>
          </properties>
        </job-acquisition>
        <properties>
          <!-- Note: the following properties only take effect in a Tomcat environment -->
          <property name="queueSize">3</property>
          <property name="corePoolSize">5</property>
          <property name="maxPoolSize">10</property>
          <property name="keepAliveTime">0</property>
        </properties>
      </job-executor>
      
        <process-engine name="default">
          <job-acquisition>default</job-acquisition>
          <configuration>org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration</configuration>
          <datasource>java:jdbc/ProcessEngine</datasource>
      
          <properties>
            <property name="history">full</property>
            <property name="databaseSchemaUpdate">true</property>
            <property name="authorizationEnabled">true</property>
            <property name="jobExecutorDeploymentAware">true</property>
            <property name="historyCleanupBatchWindowStartTime">00:01</property>
          </properties>
      
          <plugins>
            <!-- plugin enabling Process Application event listener support -->
            <plugin>
              <class>org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin</class>
            </plugin>
      
            <!-- plugin enabling integration of camunda Spin -->
            <plugin>
              <class>org.camunda.spin.plugin.impl.SpinProcessEnginePlugin</class>
            </plugin>
      
            <!-- plugin enabling connect support -->
            <plugin>
              <class>org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin</class>
            </plugin>
      
          <!-- LDAP CONFIGURATION -->
          <!-- Uncomment this section in order to enable LDAP support for this process engine -->
          <!-- Adjust configuration, see ( http://docs.camunda.org/latest/guides/user-guide/#process-engine-identity-service-the-ldap-identity-service ) -->
          <!--
            <plugin>
              <class>org.camunda.bpm.identity.impl.ldap.plugin.LdapIdentityProviderPlugin</class>
              <properties>
      
                <property name="serverUrl">ldaps://localhost:4334/</property>
                <property name="acceptUntrustedCertificates">false</property>
                <property name="managerDn">uid=jonny,ou=office-berlin,o=camunda,c=org</property>
                <property name="managerPassword">s3cr3t</property>
      
                <property name="baseDn">o=camunda,c=org</property>
      
                <property name="userSearchBase"></property>
                <property name="userSearchFilter">(objectclass=person)</property>
      
                <property name="userIdAttribute">uid</property>
                <property name="userFirstnameAttribute">cn</property>
                <property name="userLastnameAttribute">sn</property>
                <property name="userEmailAttribute">mail</property>
                <property name="userPasswordAttribute">userpassword</property>
      
                <property name="groupSearchBase"></property>
                <property name="groupSearchFilter">(objectclass=groupOfNames)</property>
                <property name="groupIdAttribute">cn</property>
                <property name="groupNameAttribute">cn</property>
      
                <property name="groupMemberAttribute">member</property>
                <property name="sortControlSupported">false</property>
      
              </properties>
            </plugin>
            -->
      
            <!-- LDAP CONFIGURATION -->
            <!-- The following plugin allows you to grant administrator authorizations to an existing LDAP user -->
            <!--
            <plugin>
              <class>org.camunda.bpm.engine.impl.plugin.AdministratorAuthorizationPlugin</class>
              <properties>
                <property name="administratorUserName">admin</property>
              </properties>
            </plugin>
            -->
      
          </plugins>
      
      
        </process-engine>
      
      </bpm-platform>
      
      

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            christopher.zell Christopher Zell
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated: