IBM Support

WebSphere Process Server startup fails with an XAException if DB2 for z/OS is used for the Common database

Troubleshooting


Problem

If the WebSphere Process Server Common database is configured to use DB2 for z/OS, you can receive an XAException when starting the process server.

Symptom

When this error occurs, the following information is written to the SystemOut.log file:

      WSRdbXaResour E   DSRA0304E:  XAException occurred. XAException contents and details are: "".
      WSRdbXaResour E   DSRA0302E:  XAException occurred.  Error code is: XAER_OUTSIDE (-9).  Exception is: [jcc][t4][10401][12066][3.57.82] XA exception: XAER_OUTSIDE ERRORCODE=-4228, SQLSTATE=null
      FfdcProvider  I com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /WPS/ffdc/server1_22482248_10.04.08_12.28.04.3622254360252233711270.txt com.ibm.ejs.j2c.XATransactionWrapper.start 824
      [4/8/10 12:28:04:478 CST] 00000000 XATransaction E   J2CA0027E: An exception occurred while invoking start on an XA Resource Adapter from DataSource jdbc/WPSDB, within transaction ID {XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
      data(00000127dbacc123000000010000004b405972756a9798421eaf413e44f2b7de83643e2100000127dbacc123000000010000004b405972756a9798421eaf413e44f2b7de83643e21000000010000000000000000000000000001)} : com.ibm.db2.jcc.am.uo: [jcc][t4][10401][12066][3.57.82] XA exception: XAER_OUTSIDE ERRORCODE=-4228, SQLSTATE=null
      at com.ibm.db2.jcc.am.bd.c(bd.java:453)
      at com.ibm.db2.jcc.am.bd.c(bd.java:477)
      at com.ibm.db2.jcc.t4.ac.a(ac.java:1703)
      at com.ibm.db2.jcc.t4.ac.start(ac.java:1570)
      at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.start(WSRdbXaResourceImpl.java:1506)
      at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1463)
      at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:148)
      at com.ibm.tx.jta.RegisteredResources.startRes(RegisteredResources.java:988)
      at com.ibm.ws.tx.jta.RegisteredResources.enlistResource(RegisteredResources.java:1099)
      at com.ibm.ws.tx.jta.TransactionImpl.enlistResource(TransactionImpl.java:2124)
      at com.ibm.ws.tx.jta.TranManagerSet.enlist(TranManagerSet.java:520)
      at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:715)
      at com.ibm.ejs.j2c.ConnectionManager.lazyEnlist(ConnectionManager.java:2176)
      at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.lazyEnlist(WSRdbManagedConnectionImpl.java:2575)
      at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:712)
      at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:2743)
      at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:2696)
      at org.springframework.jdbc.core.JdbcTemplate$SimplePreparedStatementCreator.createPreparedStatement(JdbcTemplate.java:1313)
      at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:585)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:641)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:670)
      at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:678)
      at com.ibm.tyto.jdbc.dao.SchemaQualifiedJdbcTemplate.query(SchemaQualifiedJdbcTemplate.java:129)
      at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:721)
      at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:732)
      at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:759)
      at com.ibm.tyto.jdbc.dao.SchemaQualifiedJdbcTemplate.queryForInt(SchemaQualifiedJdbcTemplate.java:145)
      at com.ibm.tyto.jdbc.dao.VersionDao.getCurrentVersionNumber(VersionDao.java:113)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:600)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)

Cause

The failure is caused by an internal WebSphere Process Server condition, not by customer data. It occurs when using DB2 for z/OS. The optimization intended to auto-commit a local transaction without the request coming from the DB2 client (in this case, WebSphere Process Server) does not work as expected in this environment; DB2 fails to automatically commit local transactions when a system query result set spans buffers.

Environment

This error occurs when DB2 for z/OS is used for the Common database, regardless of which platform you are using for WebSphere Process Server.

Diagnosing The Problem

Review the information in the SystemOut.log file to see if it matches the error text in the Symptom section of this Technote.

Resolving The Problem

Resolve the problem by doing one of the following tasks.

  • Disable the optimization by using the following general steps.
      1. Start the server process.
      2. Start the administrative console, and then click Resources >JDBC >Data sources.
      3. Click the name of the data source related to the failure. You can obtain this information by locating the Java Naming and Directory Interface (JNDI) name in the SystemOut.log file (by default, the JNDI name is DataSource jdbc/WPSDB, which corresponds to WBI_DataSource).
      4. Click Custom properties.
      5. Click New and add a new property with the name queryCloseImplicit and the value 2.
      6. Click OK, and then click Save.
      7. Restart the server.

    The performance loss by disabling the function is negligible.
  • Apply one of the following interim fixes for DB2 when they become available:
      • DB2 Version 9.7: IC67694
      • DB2 Version 9.5: IC67695
      • DB2 Version 9.1: IC67698

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"General","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF012","label":"IBM i"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"}],"Version":"7.0.0.2;7.0.0.1;7.0;6.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21429116