• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

XA Exception

 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, i've encounterd the following error message from WAS and having headache troubleshouting it. We're using WAS 5.1 and Oracle 9i. The datasource is configured to use oracle.jdbc.xa.client.OracleXADataSource in order to handle global transaction across different datasource. We obtain the data source connection through thin client.

I have not been able to find out any specific pattern on when this exception is thrown. It seems to try doing some data recovery with Oracle yet failed. Between it seems to cause my server out of memory error. Appreciate if anyone can enlighten me in any aspect. Thanks.

error extracted fr SystemOut.log
[3/16/05 15:48:32:099 SGT] 1cae5b7 WSRdbDataSour I DSRA8203I: Database product
name : Oracle
[3/16/05 15:48:32:101 SGT] 1cae5b7 WSRdbDataSour I DSRA8204I: Database product
version : Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.5.0 - Production
[3/16/05 15:48:32:102 SGT] 1cae5b7 WSRdbDataSour I DSRA8205I: JDBC driver name
: Oracle JDBC driver
[3/16/05 15:48:32:103 SGT] 1cae5b7 WSRdbDataSour I DSRA8206I: JDBC driver versi
on : 9.2.0.5.0
[3/16/05 15:48:32:116 SGT] 1cae5b7 WSRdbXaResour E DSRA0304E: XAException occu
rred. XAException contents and details are: The cause is : null.
[3/16/05 15:48:32:158 SGT] 1cae5b7 WSRdbXaResour E DSRA0302E: XAException occu
rred. Error code is: XAER_RMERR. Exception is: <null>
[3/16/05 15:48:32:176 SGT] 1cae5b7 XARminst E WTRN0037W: The transaction s
ervice encountered an error on an xa_recover operation. The resource was J2CXARe
sourceInfo :
cfName = iconnectDS
configProps = [Deployed Resource Adapter Properties]
OptionC_authDataAlias java.lang.String dev01/D
atabase USer
UserName java.lang.String test_app
Password java.lang.String ********
TransactionResourceRegistration java.lang.String dynamic
InactiveConnectionSupport java.lang.Boolean true
secureMode boolean true

dd = [Resource Adapter DD]
ManagedConnectionFactory Class Name: com.ibm.ws.rsadapter.spi.WSManagedC
onnectionFactoryImpl
Transaction Support: 2
Reauthentication Support: false

dsProps = {URL='jdbc racle:thin:@192.168.176.01:1521 EVTT1, oraclelogModuleMas
k=1, serverName=, description=, user=test_app, password=testapp, portNumber=1521
, preTestSQLString=SELECT 1 FROM TABLE1, loginTimeout=, networkProtocol=, databa
seName=, statementCacheSize=0, TNSEntryName=, dataSourceClass=oracle.jdbc.xa.cli
ent.OracleXADataSource, dataStoreHelperClass=com.ibm.websphere.rsadapter.OracleD
ataStoreHelper, oraclelogPrintMask=62, enableMultithreadedAccessDetection=false,
driverType=, dataSourceName=, oraclelogCategoryMask=47}
mcfProps = com.ibm.ejs.j2c.ManagedConnectionFactoryProps@2a3135
mmProps = {authDataAlias=dev01/Database USer, BasicPassword=java
x.resource.spi.security.PasswordCredential, mappingConfigAlias=DefaultPrincipalM
apping, authMechanismPreference=BASIC_PASSWORD}
mbeanProps = MBeanProps@4b7b1 authMechPref=0 category= factoryId=cells/icasave
dev01/nodes/dev01/resources.xml#DataSource_1104134362344 factoryName=Web
Sphere:name=devtDS,process=server1,platform=common,node=dev01,JDBCPro
vider=Oracle JDBC Thin Driver,Server=server1,version=5.0,type=DataSource,mbeanId
entifier=cells/dev01/nodes/dev01/resources.xml#DataSource_11041343
62344,cell=dev01 jndiName=jdbc/devtDS mbeanType=DataSource name=ic
onnectDS parentType=JDBCProvider pmiName=null providerId=cells/dev01/n
odes/dev01/resources.xml#JDBCProvider_1104134021943 providerName=WebSphe
re:name=Oracle JDBC Thin Driver,process=server1,platform=common,node=icasavedev0
1,Server=server1,version=5.0,type=JDBCProvider,mbeanIdentifier=cells/dev0
1/nodes/dev01/resources.xml#JDBCProvider_1104134021943,cell=icasavedev01
secureMode = true
cmConfig = [Resource-ref settings]

res-auth: 1 (APPLICATION)
res-isolation-level: 0 (TRANSACTION_NONE)
res-sharing-scope: true (SHAREABLE)
res-resolution-control: 999 (undefined)
[Other attributes]

isCMP1_x: false (not CMP1.x)
isJMS: false (not JMS)

recoveryClasspath = /saveappSW/WebSphere/AppServer/lib/rsadapter.rar
. The error code was XAER_RMERR. The exception stack trace follows: javax.transa
ction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:598)
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceI
mpl.java:672)
at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:130)
at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java
:673)
at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.jav
a:1407)
at com.ibm.ws.Transaction.JTA.ResyncThread.run(RecoveryManager.java:1440
)
 
Ranch Hand
Posts: 70
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You got to remove the transaction logs. They are under the tranlog directory under WAS.
 
Ranch Hand
Posts: 110
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Since you said this -- > "We obtain the data source connection through thin client"

I suspect that the thin driver isnt the one you should be using... use the XA driver and see.
 
Celine Wong
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the two replies so far.

1) I've removed the translog once. At that time, it actually caused WAS failed to start up. By the way, i suppose this translog is meant for the database to handle transaction in process, so that in case of any rollback, they can recover to the original state. Shouldnt it be done gracefully?

2) the thin client means the URL to oracle. we use 'jdbc racle:thin:@localhost:1521:sample' instead of 'jdbc racle ci8:@sample' for thick driver. Between i am already using an XA driver to handle global transaction
 
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Useful link, i think you can find there an answer to your question:
http://www-128.ibm.com/developerworks/websphere/library/techarticles/0407_woolf/0407_woolf.html

Regards

Albert
reply
    Bookmark Topic Watch Topic
  • New Topic