1 2 Previous Next 16 Replies Latest reply on Oct 18, 2007 9:57 AM by marklittle

    JBossTS 4.2.2 XA behaviour

    vaughton

      Using JBossAS 4.0.5GA + JBossTS 4.2.2

      An EJB uses a JMS JCA Resource Adapter to create two XA connections
      to the same Resource Manager. The sequence of events looks like:

      XAResource1 = connection1.getXAResource()
      XAResource2 = connection2.getXAResource()
      ...
      XAResource1.start(Xid1,NOFLAGS)
      XAResource2.isSameRM(XAResource1) is true
      XAResource2.start(Xid1,JOIN)
      ...
      XAResource1.end(Xid1,SUSPEND)
      XAResource2.end(Xid1,SUSPEND)
      ...
      XAResource1.end(Xid1,SUCCESS)
      (there is no call to end SUCCESS for XAResource2 with Xid1)
      ...
      XAResource1.prepare(Xid1)
      Resource Manager throws XAER_PROTO exception here because no end(Xid1,SUCCESS)
      has been called for Xid1 on XAResource2/connection2.

      Since the transaction manager called end(Xid1,SUSPEND) for both associations why
      does JBossTS not also call XAResource2.end(Xid1,SUCCESS)?

      mkv

        • 1. Re: JBossTS 4.2.2 XA behaviour
          marklittle

          It should and as far as we've seen in other deployments it does call suspend. We'll take a look. Are you using JTS or local JTA?

          • 2. Re: JBossTS 4.2.2 XA behaviour
            marklittle

            How do you commit the transaction? JTA.transaction.commit() ?

            • 3. Re: JBossTS 4.2.2 XA behaviour
              marklittle

              There was a bug in the JCA code http://jira.jboss.com/jira/browse/JBTM-202. It has been fixed and will be in the next release.

              • 4. Re: JBossTS 4.2.2 XA behaviour
                vaughton

                 

                "mark.little@jboss.com" wrote:
                It should and as far as we've seen in other deployments it does call suspend. We'll take a look. Are you using JTS or local JTA?

                It was an end(SUCCESS) rather than end(SUSPEND) that wasn't called. I assume that JBossAS JCA will be using local JTA.

                "mark.little@jboss.com" wrote:
                How do you commit the transaction? JTA.transaction.commit() ?

                Again whatever JCA is using.

                Anyway sounds like you've nailed the problem, I look forwards to 4.2.3, thanks

                mkv

                • 5. Re: JBossTS 4.2.2 XA behaviour
                  ctee

                  Configuration:
                  [Server] Release ID: JBoss [Zion] 4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)
                  [ServerInfo] Java version: 1.5.0_06,Sun Microsystems Inc.
                  [ServerInfo] Java VM: Java HotSpot(TM) Server VM 1.5.0_06-b05,Sun Microsystems Inc.
                  [ServerInfo] OS-System: Windows XP 5.1,x86
                  [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc
                  JBossTS JTA 4.2.3GA

                  We currently test our own JCA Resource Adapter for CICS in the configuration described above.

                  From the information given by Mark on February 20 the problem described in this thread should be fixed in JBossTS JTA 4.2.3. However, in the test we were running with JBossTS JTA 4.2.3 there still is only one end(SUCCESS) call.

                  Is there any chance the issue is not completely settled in 4.2.3, or do I have the wrong jar-files?

                  Clemens

                  • 6. Re: JBossTS 4.2.2 XA behaviour
                    marklittle

                    Certainly the test case we ran for the original problem behaved as expected. The 4.2.3 code also looks correct. If you've a stand-alone test case that illustrates the problem we'll take a look.

                    • 7. Re: JBossTS 4.2.2 XA behaviour
                      vaughton

                      Using JBoss Application Server 4.2.0 GA as a JCA resource adapter I have to concur with CTee that the behaviour is unchanged from that originally reported, ie end(TMSUCCESS) is still not called on all joined XA Resources before commit is called.

                      Does JBossAS 4.2.0 GA bundle a JBossTS 4.2.3+?

                      • 8. Re: JBossTS 4.2.2 XA behaviour
                        jhalliday

                        Yes. JBossTS 4.2.3.SP3 JTA.

                        • 9. Re: JBossTS 4.2.2 XA behaviour
                          vaughton

                          In which case I think that there is still a problem with the JBossTS behaviour

                          • 10. Re: JBossTS 4.2.2 XA behaviour
                            marklittle

                            As I said before:

                            "mark.little@jboss.com" wrote:
                            Certainly the test case we ran for the original problem behaved as expected. The 4.2.3 code also looks correct. If you've a stand-alone test case that illustrates the problem we'll take a look.


                            • 11. Re: JBossTS 4.2.2 XA behaviour
                              ctee

                              Are there any news on this topic?
                              Is a bug fix available for tests? If so, in which version?

                              Clemens

                              • 12. Re: JBossTS 4.2.2 XA behaviour
                                jhalliday

                                > Certainly the test case we ran for the original problem behaved as expected. The 4.2.3 code also looks correct. If you've a stand-alone test case that illustrates the problem we'll take a look.

                                Which part of this is difficult to understand? If you think it's broken, please provide a test case that shows the problem. Until then nothing is likely to happen.

                                • 13. Re: JBossTS 4.2.2 XA behaviour
                                  ctee

                                  @jhalliday

                                  It is quite obvious that this is a bug in JBoss (after all two testers, vaughton and I, have observed the same behaviour independent of each other).

                                  But frankly speaking, if you are not interested in fixing it, why so should I. Even more so, as we are not using your product except for performing some test with JBoss and our own resource adapter.

                                  I just wanted to be polite to offer running my test case for you again. But if the quality of JBoss is of no concern for you I can definitely do without.

                                  Clemens

                                  • 14. Re: JBossTS 4.2.2 XA behaviour
                                    marklittle

                                    This is hardly about lack of interest, otherwise you would have had no responses from the team at all! Provide something that illustrates your problem. As I reported back in February and then May, everything appears fine at our end. That doesn't mean there is no problem, but until we can duplicate it it is impossible to track down. The team does have other things to work on you know: as has been mentioned several times before, the forum is best-effort free support. We have many paying customers who do not see this potential issue as a problem. Unfortunately that means they have priority when it comes to dealing with issues. So do yourself and other a favour and provide a stand-alone example that demonstrates the problem: at least then the team can work on something in their spare time.

                                    1 2 Previous Next