8 Replies Latest reply on May 14, 2008 6:56 AM by Per Newgro

    Why do i get: Could not find new XAResource to use for recov

    Per Newgro Newbie

      Hello *,

      can someone help me out with this issue? My webapplication is running on a jboss-AS 4.2.2.GA with included Tomcat. Since my last deployment i see the following warning every two minutes I promiss that i didn't changed anything with my datasource config. Maybe it's the db-server (MS-SQL 2000 with jdts-Driver)?. But i don't see whats wrong. May someone give me a kick to right direction please?

      Thanks
      Per

      2008-05-13 14:54:33,428 WARN [Thread-6] com.arjuna.ats.jta.logging.loggerI18N: [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource < 131075, 31, 29, 1--2b33cfe3:9d7:480461b3:147d7e-2b33cfe3:9d7:480461b3:147d80
      
      2008-05-13 14:54:33,429 WARN [Thread-6] com.arjuna.ats.jta.logging.loggerI18N: [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource < 131075, 31, 29, 1--2b33cfe3:9d7:480461b3:147d7e-2b33cfe3:9d7:480461b3:147d83


        • 2. Re: Why do i get: Could not find new XAResource to use for r
          Per Newgro Newbie

          Hello jhalliday,

          sorry for my stupidity but i've read the links and couldn't find a solution for my issue.
          My biggest problem is that i only deployed a new version and now i get the warnings. The jtds driver is still the same (1.2.2). The ds.xml is same to.

          Could it be a mssql server problem? We extended the memory of server last week.

          Thanks
          Per

          • 3. Re: Why do i get: Could not find new XAResource to use for r
            Per Newgro Newbie

            I incresed the log level - maybe it helps

            2008-05-14 10:25:38,853 DEBUG [Thread-6] com.arjuna.ats.arjuna.logging.arjLogger: Periodic recovery - first pass <Wed, 14 May 2008 10:25:38>
            2008-05-14 10:25:38,853 DEBUG [Thread-6] com.arjuna.ats.arjuna.logging.arjLogger: StatusModule: first pass
            2008-05-14 10:25:38,870 DEBUG [Thread-6] com.arjuna.ats.txoj.logging.txojLoggerI18N: [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_3] - TORecoveryModule - first pass
            2008-05-14 10:25:38,870 DEBUG [Thread-6] com.arjuna.ats.jta.logging.loggerI18N: [com.arjuna.ats.internal.jta.recovery.info.firstpass] Local XARecoveryModule - first pass
            2008-05-14 10:25:48,873 DEBUG [Thread-6] com.arjuna.ats.arjuna.logging.arjLogger: Periodic recovery - second pass <Wed, 14 May 2008 10:25:48>
            2008-05-14 10:25:48,873 DEBUG [Thread-6] com.arjuna.ats.arjuna.logging.arjLogger: AtomicActionRecoveryModule: Second pass
            2008-05-14 10:25:48,879 WARN [Thread-6] com.arjuna.ats.jta.logging.loggerI18N: [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] [com.arjuna.ats.internal.jta.resources.arjunacore.norecoveryxa] Could not find new XAResource to use for recovering non-serializable XAResource < 131075, 31, 29, 1--2b33cfe3:9d7:480461b3:147d7e-2b33cfe3:9d7:480461b3:147d80


            • 4. Re: Why do i get: Could not find new XAResource to use for r
              Per Newgro Newbie

              What i don't understand is what's wrong with the transaction - or where cn i see the problem?

              Thanks
              Per

              • 5. Re: Why do i get: Could not find new XAResource to use for r
                Michael Musgrove Master

                Did you specify the correct datasource when configuring the AppServerJDBCXARecovery recovery module (in the jbossjta-properties.xml)?

                • 6. Re: Why do i get: Could not find new XAResource to use for r
                  Per Newgro Newbie

                  This is my conf\jbossjta-properties.xml. It's the dfault one. ANd i can't find this property.

                  <?xml version="1.0" encoding="UTF-8" ?>
                  - <transaction-service>
                  - <properties depends="common" name="arjuna">
                  - <!-- Transaction Reaper Timeout (default is 120000 ms).
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.coordinator.txReaperTimeout" value="120000" />
                  - <!-- Transaction Reaper Mode, can be: NORMAL or DYNAMIC (default is NORMAL).
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.coordinator.txReaperMode" value="DYNAMIC" />
                  - <!-- (default is NO)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.coordinator.asyncCommit" value="NO" />
                  - <!-- (default is NO)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.coordinator.asyncPrepare" value="NO" />
                  - <!-- (default is YES)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.coordinator.commitOnePhase" value="YES" />
                  - <!-- (default is defaultStore)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.objectstore.localOSRoot" value="defaultStore" />
                  - <!-- default is under user.home - must be writeable!)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.objectstore.objectStoreDir" value="PutObjectStoreDirHere" />
                  - <!-- (default is ON)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.objectstore.objectStoreSync" value="ON" />
                  - <!-- (default is ShadowNoFileLockStore)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.objectstore.objectStoreType" value="ShadowNoFileLockStore" />
                  - <!-- (default is 255)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.objectstore.hashedDirectories" value="255" />
                  - <!-- (default is ON)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.objectstore.transactionSync" value="ON" />
                  - <!-- (Must be unique across all Arjuna instances.)
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.xa.nodeIdentifier" value="1" />
                  - <!-- property
                   name="com.arjuna.ats.arjuna.coordinator.actionStore"
                   value="HashedActionStore"
                   value="JDBCActionStore"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.objectstore.jdbcTxDbAccess"
                   value="JDBCAccess"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.objectstore.objectStoreType"
                   value="ShadowNoFileLockStore"
                   value="JDBCStore"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.objectstore.jdbcUserDbAccess"
                   value="JDBCAccess"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeInitial"
                   value="1"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.objectstore.jdbcPoolSizeMaximum"
                   value="1"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.objectstore.jdbcPoolPutConnections"
                   value="false"
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.size"
                   value=""
                  
                   -->
                  - <!-- property
                   name="com.arjuna.ats.arjuna.internal.arjuna.objectstore.cacheStore.period"
                   value=""
                  
                   -->
                  - <!-- The location for creating temporary files, e.g., Uids.
                   Default is under user.home.
                   IMPORTANT: make sure the directory is lockable, e.g., /tmp on Unix
                   may not be!
                  
                   -->
                  - <!-- <property
                   name="com.arjuna.ats.arjuna.common.varDir"
                   value="var"/>
                  
                   -->
                   </properties>
                  - <properties name="common">
                  - <!-- CLF 2.0 properties
                   -->
                   <property name="com.arjuna.common.util.logging.DebugLevel" type="System" value="0x00000000" />
                   <property name="com.arjuna.common.util.logging.FacilityLevel" type="System" value="0xffffffff" />
                   <property name="com.arjuna.common.util.logging.VisibilityLevel" type="System" value="0xffffffff" />
                   <property name="com.arjuna.common.util.logger" type="System" value="log4j" />
                   </properties>
                  - <properties depends="arjuna" name="txoj">
                  - <!-- (default is LockStore of installation - must be writeable!)
                  
                   -->
                  - <!-- <property
                   name="com.arjuna.ats.txoj.lockstore.lockStoreDir"
                   value="LockStore"/>
                  
                   -->
                  - <!-- (default is BasicLockStore)
                  
                   -->
                   <property name="com.arjuna.ats.txoj.lockstore.lockStoreType" value="BasicLockStore" />
                  - <!-- (default is NO)
                  
                   -->
                   <property name="com.arjuna.ats.txoj.lockstore.multipleLockStore" value="NO" />
                  - <!-- (default is YES)
                  
                   -->
                   <property name="com.arjuna.ats.txoj.lockstore.singleLockStore" value="YES" />
                  - <!-- (default is YES)
                  
                   -->
                   <property name="com.arjuna.ats.txoj.lockstore.allowNestedLocking" value="YES" />
                   </properties>
                  - <properties depends="arjuna" name="jta">
                  - <!-- Support subtransactions in the JTA layer?
                   Default is NO.
                  
                   -->
                   <property name="com.arjuna.ats.jta.supportSubtransactions" value="NO" />
                   <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple" />
                  - <!-- com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple
                  
                   -->
                   <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple" />
                  - <!-- com.arjuna.ats.internal.jta.transaction.jts.UserTransactionImple
                  
                   -->
                   </properties>
                  - <properties depends="arjuna,txoj,jta" name="recoverymanager">
                  - <!-- Properties used only by the RecoveryManager.
                  
                   -->
                  - <!-- Periodic recovery settings.
                   Time values in this section are in seconds.
                  
                   -->
                  - <!-- Interval in seconds between initiating the periodic recovery modules.
                   Default is 120 seconds.
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.periodicRecoveryPeriod" value="120" />
                  - <!-- Interval in seconds between first and second pass of periodic recovery.
                   Default is 10 seconds.
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.recoveryBackoffPeriod" value="10" />
                  - <!-- Periodic recovery modules to use. Invoked in sort-order of names.
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension1" value="com.arjuna.ats.internal.arjuna.recovery.AtomicActionRecoveryModule" />
                   <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension2" value="com.arjuna.ats.internal.txoj.recovery.TORecoveryModule" />
                   <property name="com.arjuna.ats.arjuna.recovery.recoveryExtension3" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule" />
                  - <!-- Expired entry removal
                  
                   -->
                  - <!-- Expiry scanners to use (order of invocation is random).
                   Names must begin with "com.arjuna.ats.arjuna.recovery.expiryScanner"
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.expiryScannerTransactionStatusManager" value="com.arjuna.ats.internal.arjuna.recovery.ExpiredTransactionStatusManagerScanner" />
                  - <!-- Interval, in hours, between running the expiry scanners.
                   This can be quite long. The absolute value determines the interval -
                   if the value is negative, the scan will NOT be run until after one
                   interval has elapsed. If positive the first scan will be immediately
                   after startup. Zero will prevent any scanning.
                   Default = 12 = run immediately, then every 12 hours.
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.expiryScanInterval" value="12" />
                  - <!-- Age, in hours, for removal of transaction status manager item.
                   This should be longer than any ts-using process will remain running.
                   Zero = Never removed. Default is 12.
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerExpiryTime" value="12" />
                  - <!-- Use this to fix the port on which the TransactionStatusManager listens,
                   The default behaviour is to use any free port.
                  
                   -->
                   <property name="com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort" value="0" />
                   </properties>
                  - <properties depends="jta" name="jdbc">
                  - <!-- property name="com.arjuna.ats.jdbc.isolationLevel" value="TRANSACTION_SERIALIZABLE"/>
                  
                   -->
                   </properties>
                   </transaction-service>


                  • 7. Re: Why do i get: Could not find new XAResource to use for r
                    Michael Musgrove Master

                    Take a look at the section called "Recovering XAConnections" in the manual (
                    http://www.jboss.org/jbosstm/docs/4.2.3/manuals/html/jta/ProgrammersGuide.html) - this describes the steps for how to configure recovery for databases.

                    • 8. Re: Why do i get: Could not find new XAResource to use for r
                      Per Newgro Newbie

                      But why did it work before my last release. I think it's a problem in my code or with my mssql-server config.

                      Per