Atomikos Forum

Support for Oracle RAC DTP in 11.2 ?

Does Atomikos support Oracle RAC 11.2 with DTP enabled ?

We are running Atomikos on Oracle 11.2 RAC servers and Atomikos seems to be having trouble.

When connecting with load balancing, an error "failed to grow connection pool" caused by "TNS listener cannot find service name" is found (the names are accurate).  The setup uses this URL format:
jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on) (ADDRESS=(PROTOCOL=TCP)(HOST=serveraddress)(PORT=port))(ADDRESS=(PROTOCOL=TCP)(HOST=serveraddress)(PORT=port))(CONNECT_DATA=(SERVICE_NAME=servicename)))");

 With username and password specified separately.  When we attempt to make a new connection, the aforementioned error occurs.

When connecting without load balancing (specifying each RAC node as a datasource), the usertransaction.commit() method hangs indefinitely.

Note that we have tried scenarios with different nodes as different datasources on Oracle 10 servers and they worked as behaved.
prasa kodees Send private email
Friday, September 09, 2011
 
 
We've resolved the issue with the service name.

However, the utx.commit() hanging is still an issue.  In both scenarios - load balancing or as individual datasources.
prasa kodees Send private email
Friday, September 09, 2011
 
 
What does tm.out say in INFO mode?
Guy Pardon Send private email
Tuesday, September 13, 2011
 
 
I will work on getting that to you, but for now, the stack trace is

com.atomikos.icatch.HeurHazardException: Heuristic Exception
    at com.atomikos.datasource.xa.XAResourceTransaction.commit(XAResourceTransaction.java:774)
    at com.atomikos.icatch.imp.CommitMessage.send(CommitMessage.java:73)
    at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:111)
    at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:87)
    at com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:66)
    at com.atomikos.icatch.imp.HeurHazardStateHandler.onTimeout(HeurHazardStateHandler.java:120)
    at com.atomikos.icatch.imp.CoordinatorImp.alarm(CoordinatorImp.java:1105)
    at com.atomikos.timing.PooledAlarmTimer.notifyListeners(PooledAlarmTimer.java:112)
    at com.atomikos.timing.PooledAlarmTimer.run(PooledAlarmTimer.java:99)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:736)
prasa kodees Send private email
Tuesday, September 13, 2011
 
 
I've uploaded the full tm.out here

http://pastebin.com/mykWJgPu

And just to remind, the setup worked in 10g RAC.  We'd just like to know what assumption we can make about the 11.2 RAC support.
prasa kodees Send private email
Wednesday, September 14, 2011
 
 
As far as I can see, it is not the utx.commit that is problematic but recovery (see below).

The resource(s) needed to recover from the RAC seem to be problematic and fail to initialize - this causes heuristic termination of the pending transactions that were recovered by the transaction service.

So the next question is: why does the RAC recovery fail in XAResource.recover? that is hard to say from where I am sitting. We can schedule some (paid) remote assistance if you like, to find out more.

11-09-14 14:03:31,114 [Thread-12] Error in recovery
javax.transaction.xa.XAException
        at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:715)
        at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:587)
        at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:540)
        at com.atomikos.datasource.xa.XAResourceTransaction.recover(XAResourceTransaction.java:572)
        at com.atomikos.icatch.imp.CoordinatorImp.recover(CoordinatorImp.java:748)
        at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:610)
Guy Pardon Send private email
Thursday, September 15, 2011
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics