Hide Forgot
Description of problem: The isSameRM method of org.apache.qpid.client.XAResourceImpl always returns false. The javadoc for isSameRM says .. "This method is called to determine if the resource manager instance represented by the target object is the same as the resource manager instance represented by the parameter xares ." which means isSameRM has to return true when invoked with identical objects (Java identity). Clearly, these two XA resources are backed by the same resource manager. //xaResource1 == xaResource2 XAResource xaResource1 = jmsXAResource; XAResource xaResource2 = jmsXAResource; // xaResource1.isSameRM(xaResource2) should be true Because the Qpid/MRG implementation always returns false, it affects resource enlistment/delistment with our in-house transaction manager. The source code (lines 213 - 217) of org.apache.qpid.client.XAResourceImpl suggests that this method has not been fully completed. public boolean isSameRM(XAResource xaResource) throws XAException { // TODO : get the server identity of xaResource and compare it with our own one return false; } Version-Release number of selected component (if applicable): MRG Messaging 1.3 How reproducible: Every time Additional info: isSameRMTrueForSameObject test case attached.
Created attachment 498146 [details] isSameRMTrueForSameObject test case.
I filed a JIRA upstream for this issue and attached the test case. https://issues.apache.org/jira/browse/QPID-3263 I have a patch that I will be submitting to review board which fixes the issue. I will update this BZ as the situation warrants.
What's the status of this bug? https://issues.apache.org/jira/browse/QPID-3263 looks resolved, have we confirmed? Thanks, William
Will this patch be included in the upcoming qpid-java version going into MRG-M 2.1? Thanks, William
What is the status of this bug? Will this patch be included in the upcoming qpid-java version going into MRG-M 2.1? Thank you, Blair Morrison
Hi Blair, The issue upstream is here: https://issues.apache.org/jira/browse/QPID-3263 It will be included in the next qpid-java release.
Fixed prior to the 0.14 rebase