Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-762

JDBC store; commit called on connection that uses autocommit during "deleteAllMessages" .

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • JBoss A-MQ 6.2
    • JBoss A-MQ 6.1
    • message-store
    • None

      The oracle v12 driver throws the following exception if commit() is called on a connection that has auto-commit enabled(see[1]) . This seems to be a change in behaviour since v11.| caused by: java.sql.SQLException: Could not commit with auto-commit set on|

      at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:4443)
      at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:4490)
      at org.apache.commons.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334)
      at org.apache.commons.dbcp.DelegatingConnection.commit(DelegatingConnection.java:334)
      at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.commit(PoolingDataSource.java:211)
      at org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter.doDropTables(DefaultJDBCAdapter.java:148)
      at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.deleteAllMessages(JDBCPersistenceAdapter.java:534)
      ... 40 more

      In the org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter#doDropTables() it explicitly calls connection.commit() without checking if auto-commit is enabled. In other places auto-commit does seem to be checked before commit is called - org.apache.activemq.store.jdbc.TransactionContext#commit().
      The v12 driver does allow autocommit-SpecCompliance to be turned off by setting system property "oracle.jdbc.autoCommitSpecCompliant=false". But it does seem like org.apache.activemq.store.jdbc.adapter.DefaultJDBCAdapter#doDropTables() is not strictly adhering to the spec.
      I think it would be better to do a check if auto-commit is on before calling connection.commit().

              Unassigned Unassigned
              rhn-support-pfox Patrick Fox (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: