My Oracle Support Banner

XAresource Leaks XID instances If Equivalent (but different) XID Instances Are Used (Doc ID 1960827.1)

Last updated on FEBRUARY 22, 2019

Applies to:

JDBC - Version 11.2.0.3.0 and later
Information in this document applies to any platform.

Symptoms

XAResource methods such as start, end, prepare, commit, etc. each take an Xid argument.

Per Xid API Specification, javax.transaction.xa.Xid is an interface which defines transaction identity using 3 methods:
- getGlobalTransactionId()
- getBranchQualifier()
- getFormatId()

Using different instances which have identical values for the global transaction ID, branch qualifier and format ID, during the course of a transaction in calling the XAResource methods, Xid instances leaks.
After a long XA application run,  memory profile shows a huge collection XID objects.

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.