1 2 3 Previous Next 38 Replies Latest reply on Sep 25, 2014 12:13 PM by smarlow Go to original post
      • 15. Re: JCA Spec violation using resource-adapter in JBoss 7?
        jsteidl

        the second attempt, we detect that it is a resource JBTM knows about so it uses XAResource.TMJOIN (I can't actually see that message in the later logs).

         

        Note that the comments like "[TMNOFLAGS]" and "[TMJOIN]" were added by hand to the log summary you were looking at, whereas the log summary in post #11 is "raw" and contains no such hand-edits.

         

        In the log summary (tempm.txt) from post #11, the TMJOIN operations are still there (2097152 is TMJOIN) -- the first one is:

         

        in:xaResourceWrapper2.start(xid3,2097152) #6 @1362075193148..1362075193161

           out:XAResource.start(xid3,2097152) #6 @1362075193152..1362075193157

        • 16. Re: JCA Spec violation using resource-adapter in JBoss 7?
          jleinawe

          for the JBoss folks - is there anything more I can do with regards to adding logging/tracing that can help with understanding this issue?   (I would need specific instructions on what to enable or what configuration to change).    

           

          Is there any question regarding the resource-adapter implementation we are developing that jsteidl could answer?

          • 17. Re: JCA Spec violation using resource-adapter in JBoss 7?
            jesper.pedersen

            Could you add TRACE logging for com.arjuna and org.jboss.as.ejb3 too ?

            • 18. Re: JCA Spec violation using resource-adapter in JBoss 7?
              jleinawe

              new log (logs_0312.zip) attached along with the standalone.xml, logging.properties, the stdout/err from the JBoss server and the MDB's source file which has the @annotated  activation config

               

              This will be a different MDB than before, same basic function, just simplified so I can work outside our test framework.

              1) RA deployed and configured in JBoss (as before)

              2) RA-backed MDB deployed to JBoss.  MDB is XA enabled, it receives a message then sends an outbound response (Container Managed Txn).

              3) A WebLogic client enqueues 3 messages to the inbound queue (this is done on the WebLogic side, no RA or JBoss).

              4) MDB should consume the 3 messages and send a response message for each but fails.

               

              You can jump to the failure in the server.log by searcing it for "ERROR".

              • 19. Re: JCA Spec violation using resource-adapter in JBoss 7?
                jsteidl

                Attached are the log summary (tempm.txt) and intermediate file (tempm.int) derived from the full logs included with post #18.

                 

                [Due to the test changes described by jleinawe, the attached log summary is a bit different than the one described in post #12.  It is now "xaResourceWrapper1" rather than "xaResourceWrapper2" that is being repeatedly 'XAResource.start'ed and never 'XAResource.end'ed.  And the first xid where the transaction is committed without first ending the association is "xid1".]

                • 20. Re: JCA Spec violation using resource-adapter in JBoss 7?
                  jesper.pedersen

                  I'm not seeing the TRACE from com.arjuna

                   

                  Identified one issue (AS7-6725), so thanks for that one

                  • 21. Re: JCA Spec violation using resource-adapter in JBoss 7?
                    jesper.pedersen

                    If you are seeing the problem by just sending one message then just include that log - sending more messages only clutters it

                    • 22. Re: JCA Spec violation using resource-adapter in JBoss 7?
                      jesper.pedersen

                      If possible include the following Byteman script in your run:

                       

                      RULE Transaction.enlist 
                      INTERFACE javax.transaction.Transaction 
                      METHOD enlistResource 
                      IF TRUE 
                      DO traceStack("--------------------------->BM-Transaction.enlistResource: " + $1,100); 
                      ENDRULE 
                      
                      RULE Transaction.delist 
                      INTERFACE javax.transaction.Transaction 
                      METHOD delistResource 
                      IF TRUE 
                      DO traceStack("--------------------------->BM-Transaction.delistResource: " + $1 + ", flag: " + $2,100); 
                      ENDRULE 
                      

                       

                      Thanks.

                      • 23. Re: JCA Spec violation using resource-adapter in JBoss 7?
                        jleinawe

                        New log file attached.  

                         

                        This has com.arjuna logging set to TRACE.

                        This has the Byteman script you provided in a previous post and I see the "BM" messages in the log

                        This does not have our RA tracing enabled (which might make it easier for you to read).

                         

                        I simplified the test case to sending 2 messages.   The first will work but the second fails as it tries to reuse the outbound connection once again (the transaction didn't delist the first time). 

                        I also simplified the MDB in that it no longer tries to redeliver messages.   Before it was using a default where it makes 5 attempts to deliver the same message to the MDB (a config parameter that protects against poison messages).   This time it will try to deliver it once then discard it if that delivery fails   This should help unclutter the logs a bit more.

                        • 24. Re: JCA Spec violation using resource-adapter in JBoss 7?
                          jesper.pedersen

                          We have done some updates, so can you rerun using the latest AS8 snapshot - and use the ij-core-impl from here: https://repository.jboss.org/nexus/content/repositories/snapshots/org/jboss/ironjacamar/ironjacamar-core-impl/1.0.16-SNAPSHOT/ - just override the 1.0.15 version.

                           

                          Thanks.

                          • 25. Re: JCA Spec violation using resource-adapter in JBoss 7?
                            jleinawe

                            Sharing my steps, let me know if I need to do something differently:

                             

                            I'm already using the last successful nightly AS8 (build version 1498) from https://ci.jboss.org/jenkins/job/JBoss-AS-7.x-latest/  so I didn't change.

                             

                            I go to jboss-as-8.0.0.Alpha1-SNAPSHOT/modules/system/layers/base/org/jboss/ironjacamar/impl/main

                            and move ironjacamar-core-impl-1.0.15.Final.jar* to a temp directory.

                             

                            I copy in the new version,  ironjacamar-core-impl-1.0.16-20130314.184732-1.jar

                            and I update module.xml to replace the reference of  ironjacamar-core-impl-1.0.15.Final.jar to ironjacamar-core-impl-1.0.16-20130314.184732-1.jar

                             

                            Attached is the server.log from my test run.   This run did have the previous byteman script enabled.   Searching the log for ERROR, I still see the " Attempt to start a transaction while in an active (global or local) transaction" issue but I also see a new error message that precedes it,

                             

                            13:00:56,127 ERROR [org.jboss.msc.service] (MSC service thread 1-4) MSC000002: Invocation of listener "org.jboss.as.connector.util.RaServicesFactory$1@3745dc3b" failed: java.lang.IllegalStateException: JBAS014666: Duplicate resource resource-adapters

                            • 26. Re: JCA Spec violation using resource-adapter in JBoss 7?
                              jleinawe

                              (follow up from my previous message, #25 in this topic)

                               

                              Tried a couple of more runs and do not see the Duplicate resource resource-adapters error.   Just the "Attempt to start a transaction..." as before.    New server.logs attached, one with and one without our RA trace enabled.

                              • 27. Re: JCA Spec violation using resource-adapter in JBoss 7?
                                tomjenkinson

                                I am not seeing delistResource happen

                                • 28. Re: JCA Spec violation using resource-adapter in JBoss 7?
                                  jesper.pedersen

                                  Please, do another run with the attached jar

                                  • 29. Re: JCA Spec violation using resource-adapter in JBoss 7?
                                    jleinawe

                                    Using the ironjacamar-core-impl.jar provided in messge #28.   I no longer see the issue ("Attempt to start a transaction while in an active (global or local) transaction").    Looking at the log I don't see an ERROR message and the MDB is processing inbound/outbound messages as required by the test case.

                                     

                                    Attached is the log from my run with the byteman debugging code active, you will see the byteman "--------------------------->BM-Transaction.delistResource"... messages in this run that we didn't see before.