Uploaded image for project: 'SwitchYard'
  1. SwitchYard
  2. SWITCHYARD-2994

Wildfly closes DB connection before BPEL engine is down

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0
    • Fix Version/s: None
    • Component/s: component-bpel
    • Labels:
      None
    • Steps to Reproduce:
      Hide

      We have no idea how to reproduce it. The issue occurs only randomly. Most shutdowns are successfully - possibly because the BPEL engine is idle most time.

      Show
      We have no idea how to reproduce it. The issue occurs only randomly. Most shutdowns are successfully - possibly because the BPEL engine is idle most time.
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Close incoming traffic in our load balancer and wait until the BPEL engine becomes idle before shutting down the wildfly server.

      Show
      Close incoming traffic in our load balancer and wait until the BPEL engine becomes idle before shutting down the wildfly server.

      Description

      When we shutdown our Wildfly server while the BPEL engine is processing jobs, it happens sometimes that that the database is left in an inconsistent state, so the next startup fails with a related error message.

      It seems that problem cause is a wrong order of shutdown. The logfile shows that the DB connection has been closed before the BPEL engine shut down.

      We use the BPEL engine as it is, no modified source code and no custom extension. Our workflow calls SOAP functions that are provided by another deployment on the same machine which is based on Jax-WS.

      2017-02-08 22:30:51,680 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-11) JBAS010409: Unbound data source [java:jboss/datasources/BPEL]
      2017-02-08 22:30:51,822 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 58) IJ000615: Destroying active connection in pool: BPEL-pool (org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@5c974c06)
      2017-02-08 22:30:51,822 WARN  [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 58) IJ000615: Destroying active connection in pool: BPEL-pool (org.jboss.jca.adapters.jdbc.local.LocalManagedConnection@51004d67)
      2017-02-08 22:30:52,471 INFO  [org.switchyard] (MSC service thread 1-15) Stopping SwitchYard component BPELComponent
      2017-02-08 22:30:52,471 INFO  [org.switchyard] (MSC service thread 1-15) Stopping SwitchYard component BPELComponent
      2017-02-08 22:30:52,475 INFO  [org.apache.ode.bpel.engine.BpelServerImpl] (MSC service thread 1-15) BPEL Server Stopped.
      2017-02-08 22:30:52,477 INFO  [org.riftsaw.engine.internal.BPELEngineImpl] (MSC service thread 1-15) Unbind the services from JNDI.
      

      BPEL-pool is our JNDI datasource used by the BPEL engine. The relevant parts from standalone/switchyard.xml are:

                      <datasource jta="true" jndi-name="java:jboss/datasources/BPEL" pool-name="BPEL-pool" enabled="true" use-java-context="true" use-ccm="true">
                          <connection-url>jdbc:mysql://xxx.xxx.xxx.xxx:3306/BPEL</connection-url>
                          <driver>mysql</driver>
                          <pool>
                              <min-pool-size>10</min-pool-size>
                              <max-pool-size>400</max-pool-size>
                          </pool>
                          <security>
                              <user-name>bpel</user-name>
                              <password>xxxxxxxx</password>
                          </security>
                          <statement>
                              <prepared-statement-cache-size>100</prepared-statement-cache-size>
                              <share-prepared-statements>true</share-prepared-statements>
                          </statement>
                      </datasource>
      
                      <module identifier="org.switchyard.component.bpel" implClass="org.switchyard.component.bpel.deploy.BPELComponent">
                          <properties>
                              <bpel.db.mode>
                                  EXTERNAL
                              </bpel.db.mode>
                              <db.emb.create>
                                  false
                              </db.emb.create>
                              <bpel.db.ext.dataSource>
                                  java:jboss/datasources/BPEL
                              </bpel.db.ext.dataSource>
                              <hibernate.dialect>
                                  org.hibernate.dialect.MySQLInnoDBDialect
                              </hibernate.dialect>
                              <hibernate.show_sql>
                                  false
                              </hibernate.show_sql>
                              <hibernate.jdbc.batch_size>
                                  20
                              </hibernate.jdbc.batch_size>
                              <ode.persistence>
                                  hibernate
                              </ode.persistence>
                              <persist.bpel.events>
                                  false
                              </persist.bpel.events>
                              <bpel.event.listeners>
                                  org.jboss.soa.bpel.console.bpaf.BPAFLogAdapter
                              </bpel.event.listeners>
                          </properties>
                      </module>
      

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                s.frings74 Stefan Frings
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: