Yes eventually the recovery manager will move the log elsewhere and require manual intervention. I think I mentioned that earlier in this thread. I think the default is about 12 hours, but can be set in the config file. Read the docs for more details.
Actually, I've found that this is not the case for all types of recovery failures - there's at least one instance where I'm seeing tx recovery attempts never expire - see forum thread:
Hmmm... still doesn't work. I executed the following in my oracle DB to give my schema the appropriate permissions:
GRANT SELECT ON sys.dba_pending_transactions TO db_user; GRANT SELECT ON sys.pending_trans$ TO db_user; GRANT SELECT ON sys.dba_2pc_pending TO db_user; GRANT EXECUTE ON sys.dbms_system TO db_user; GRANT EXECUTE ON dbms_system TO db_user;
Get this ad-infinitum:
WARN [loggerI18N] [com.arjuna.ats.internal.jta.recovery.xarecovery
1] Local XARecoveryModule.xaRecovery got XA exception javax.transaction.xa.XAException, XAException.XAER_RMERR
Wow... reading this thread has been like reading a narrative of the last 3 days of my life, step by step.
Did you ever get this resolved? I'm stuck at the point of getting the XAException.XAER_RMERR error. Although in my case I went the route of using the OracleXARecovery module that comes packaged with the JBossTS distribution instead of using AppServerJDBCXARecovery. In my case, however, I'm still seeing "Could not find new XAResource". It prints out several hundred of these before finally giving the XAER_RMERR error message.
I also tried using the JNDI recovery module, but I soon realized that the datasource I was trying to obtain from JBoss would always be packaged in a wrapper class, hence the class cast exceptions.
I found the programmers guide to be extremely useful:
It covers most of the items necessary for adding in resource recovery. Although there is no mention in it about granting any privileges to the DBA tables. That little tidbit I eventually found here:
Although, that document only lists adding select privileges to the DBA_PENDING_TRANSACTIONS table. I got permissions from our DBAs for that single table, but the problem still persisted. Unfortunately, our system is extremely locked down in terms of what permissions we're allowed, so I'm going to have to go through a lot of hoops to get all the permissions listed by jhalliday. Is there an easy way to tell where the recovery component is barfing? I don't see any other error messages anywhere in our logging and I even went as far as enabling full debug level logging for the arjuna components.
Thanks for the article by the way. It's nice to know that others are going through this same problem.
I summarized most of what I went through in my blog:
I don't know if anything in there will help you.
I just recently was told that the stuff I'm working on just hit a XAER_RMERR error again, so apparently, I didn't jump through all hoops necessary. If I found out anything else, I'll post here - hopefully, you'll do the same :)