XA_RBPROTO error Calling xa_end(TMFAILl) after xa_end(SUSPEND)

(Doc ID 1115683.1)

Last updated on FEBRUARY 08, 2017

Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.1.0 - Release: 10.2 to 11.2
Information in this document applies to any platform.

Symptoms


Before invoking xa_end(TMFAIL) through the resource adapter,
WebLogic invokes xa_end(TMSUSPEND), to suspend the transaction branch.
If a transaction branch is in a suspended state, when xa_end(TMFAIL) is
invoked on the Oracle XA interface, Oracle reports a protocol error.
This sequence should be valid, according to the XA specification,

The call to xa_end(TMSUSPEND) before calling xa_end(TMFAIL) was deliberately
added to WebLogic as part of patch (CR211194) and fixes a memory leak with
MQSeries.

Changes

Upgrade of Weblogic to versions where patch (CR211194) is implemented or
any other XA application calling xa_end(TMFAILl) after a xa_end(SUSPEND).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms