Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3263

Java (org.apache.qpid.client) XAResourceImpl always returns false for isSameRM

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.11
    • Fix Version/s: 0.14
    • Component/s: JMS AMQP 0-x
    • Labels:
      None
    • Environment:

      All OS/hardware platforms as well as current brokers.

      Description

      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 implementation always returns false, it affects resource
      enlistment/delistment.

      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;
      }

        Attachments

        1. MRG-00471937.zip
          3 kB
          Weston M. Price
        2. qpid3263.patch
          9 kB
          Weston M. Price

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              wprice Weston M. Price
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified