Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-4260

JBossMQ table schema can not be created within a transaction when using MS SQL Server jdbc driver

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Major
    • JBossAS-4.2.0.CR2
    • JBossAS-4.0.4.GA, JBossAS-4.0.5.GA
    • JMS (JBossMQ)
    • None
    • Medium

    Description

      After the table schema has been created once during the first boot, on subsequent restarts the following error is thrown

      11:19:15,468 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:name=JmsXA,service=ConnectionFactoryBinding' to JNDI name 'java:JmsXA'
      11:19:15,539 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:name=KANA/jdbc/realm1,service=DataSourceBinding' to JNDI name 'java:KANA/jdbc/realm1'
      11:19:15,870 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=mht-vani/1, BranchQual=, localId=1] errorCode=XA_RBROLLBACK
      org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: New request is not allowed to start because it should come with valid transaction descriptor.))
      at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:912)
      at org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2253)
      at org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1784)
      at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:340)
      at org.jboss.tm.TxManager.commit(TxManager.java:240)
      at org.jboss.mq.sm.jdbc.JDBCStateManager$JDBCSession.close(JDBCStateManager.java:613)
      at org.jboss.mq.sm.jdbc.JDBCStateManager.initDB(JDBCStateManager.java:465)
      at org.jboss.mq.sm.jdbc.JDBCStateManager.startService(JDBCStateManager.java:378)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
      at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
      at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
      at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
      at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
      at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)

      The MS JDBC driver is doing an internal rollback - anti-spec behaviour when JBossMQ fails
      to create a table that already exists

      Attachments

        Activity

          People

            luc.texier Luc Texier (Inactive)
            luc.texier Luc Texier (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: