9 Replies Latest reply on Jul 27, 2007 12:15 PM by timfox

    Problem after mcving from 1.3 to 1.4

    hibsmax

      Hi, Group.

      I had this test application setup using JBM 1.3 and it was working but with some problems. I decided to upgrade to the latest version of JBM and now I get errors after the server has started. I think there is something that I need to do but I don't really know where to start looking. Any ideas based on the stack traces below?

      12:42:43,351 ERROR [MessagingXAResourceWrapper] ********************************Failed to connect to server
      javax.naming.NameNotFoundException: DefaultJMSProvider not bound
      at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
      at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
      at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
      at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
      at javax.naming.InitialContext.lookup(InitialContext.java:351)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getConnectionFactory(MessagingXAResourceWrapper.java:343)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.connect(MessagingXAResourceWrapper.java:300)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getDelegate(MessagingXAResourceWrapper.java:259)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.recover(MessagingXAResourceWrapper.java:107)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:746)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecovery(XARecoveryModule.java:685)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:179)
      at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWork(PeriodicRecovery.java:237)
      at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:163)
      12:42:43,356 WARN [loggerI18N] [com.arjuna.ats.internal.jta.recovery.xarecovery1] Local XARecoveryModule.xaRecovery got XA exception javax.transaction.xa.XAException: Error trying to connect to provider DefaultJMSProvider, XAException.XAER_RMERR
      12:42:43,356 ERROR [MessagingXAResourceWrapper] ********************************Failed to connect to server
      javax.naming.NameNotFoundException: DefaultJMSProvider not bound
      at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
      at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
      at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
      at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
      at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
      at javax.naming.InitialContext.lookup(InitialContext.java:351)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getConnectionFactory(MessagingXAResourceWrapper.java:343)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.connect(MessagingXAResourceWrapper.java:300)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.getDelegate(MessagingXAResourceWrapper.java:259)
      at org.jboss.jms.server.recovery.MessagingXAResourceWrapper.recover(MessagingXAResourceWrapper.java:107)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:771)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecovery(XARecoveryModule.java:685)
      at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:179)
      at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWork(PeriodicRecovery.java:237)
      at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:163)


      I didn't get these error messages before. The first occurrence is 10s after startup then every 130s after that.

      Thanks, Anders

        • 1. Re: Problem after mcving from 1.3 to 1.4
          hibsmax

          I found that by undoing the change I made in accordance with Chapter 8 i.e. removing this line
          <property name="com.arjuna.ats.jta.recovery.XAResourceRecovery.JBMESSAGING1"....

          the error messages disappear. Now I have new errors but that's another story. :)

          Peace, Anders

          • 2. Re: Problem after mcving from 1.3 to 1.4
            hibsmax

            When I run my test I get lots of these messages on the stdout:
            2007-07-26 15:14:35,820 WARN [org.jboss.messaging.core.impl.JDBCPersistenceManager] SQLException caught - assuming deadlock detected, try:1
            java.sql.SQLException: ORA-02291: integrity constraint (MANDERSO.SYS_C0011668) violated - parent key not found

            I hacked the DB and removed the referential integrity constraint (JBM_MSG_REF.MESSAGE_ID -> JBM_MSG.MESSAGE_ID) just to see what would happen i.e. not considering it a legitimate fix, and I ceased getting the messages and the test ran. I started getting other stack traces instead.

            I know that the database schema changed between 1.3 and 1.4. Is there some other configuration required to avoid the SQLException above? When I googled I only found one issue and that was re: duplicate keys, not parent key not found.

            Thanks, Anders

            • 3. Re: Problem after mcving from 1.3 to 1.4
              timfox

              This was covered in an earlier thread: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=114049

              1.4.0.RC1 is only tested against Mysql - sorry I should have been more explicit about this in the release notes.

              Of course, for the GA we will have tested against all supported databases.

              • 4. Re: Problem after mcving from 1.3 to 1.4
                hibsmax

                Thanks, Tim. I'll go back to using 1.3 for now.

                Peace, Anders

                • 5. Re: Problem after mcving from 1.3 to 1.4
                  hibsmax

                  I would like to revisit my initial problem if I may.

                  When I look in my server.log file I see several messages about the DefaultJMSProvider e.g.
                  DEBUG [org.jboss.jms.jndi.JMSProviderLoader] Bound adapter to java:/DefaultJMSProvider

                  This seems to conflict with the error message I am seeing above i.e.:
                  javax.naming.NameNotFoundException: DefaultJMSProvider not bound

                  I am not sure what to make of this error. Either the DefaultJMSProvider is bound or it's not? This seems to be a JMS issue so the fact that I am using Oracle shouldn't be an issue (as far as I can tell). There must be something I am doing wrong (or not at all) which is preventing the DefaultJMSProvider to act as expected. Any thoughts?

                  Thanks, anders

                  • 6. Re: Problem after mcving from 1.3 to 1.4
                    timfox

                    This is because the Arjuna recovery manager is starting up and starting it's recovery cycle before the JMSProviderLoader has been deployed and can't find it.

                    This should be harmless.

                    I will however make sure the error message is suppressed on RC2/GA since it's pretty ugly.

                    • 7. Re: Problem after mcving from 1.3 to 1.4
                      timfox

                      BTW - thanks for the feedback :)

                      This kind of feedback on issues is exactly the kind of thing we want to expose and fix before we release ther GA. :)

                      • 8. Re: Problem after mcving from 1.3 to 1.4
                        hibsmax

                        I don't know if this is the answer or not but I changed my jbossjta-properties.xml to refer to java:DefaultJMSProvider (from simply DefaultJMSProvider) and the error message I was receiving stopped.

                        • 9. Re: Problem after mcving from 1.3 to 1.4
                          timfox

                          Ok, that would make sense.

                          I made a change between 1.3.0 and 1.4.0 so it no longer assumes the jndi name is in the java namespace.

                          I'll update the doco appropriately.