IBM Support

Workaround to avoid XAER_RMERR when using remote EJBs across clusters while using Java 8

Troubleshooting


Problem

Error message "WTRN0047W: An XAER_RMERR occured when committing the work on a transaction branch" is issued when using Java 8 and remote EJBs across different clusters. This applies to customers using WebSphere Application Server versions v8.5.5.9, v8.5.5.10 and v9.

Symptom

"WTRN0047W: An XAER_RMERR occurred when committing the work on a transaction branch. The resource was: com.ibm.ws.Transaction.JTS.WSCoordinatorWrapper@a0ce09b5".

Cause

Unknown

Environment

Linux, Java 8

Diagnosing The Problem

Examine the logs.

Resolving The Problem

Set Generic JVM Arg property "-Dcom.ibm.CORBA.UseSchemaIDR=false" on all Java 8 JVMs where the application is running. Here is the document which shows how to setup this property for WebSphere Application Server http://www-01.ibm.com/support/docview.wss?uid=swg21417365
The property com.ibm.CORBA.UseSchemaIDR when set to false, disables optimized CORBA Marshaling and switches back to the CDR format of writing the data across the stream. (The format used in Java 6.1 and Java 7)

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Not Applicable","Platform":[{"code":"PF016","label":"Linux"}],"Version":"9.0.0.0;8.5.5.9;8.5.5.10","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
15 June 2018

UID

swg21987471