Qpid
  1. Qpid
  2. QPID-3904

Java client should set AMQConnection#_closed flag on receipt of 0-10 connection.close

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.17
    • Component/s: Java Client
    • Labels:
      None

      Description

      If the broker closes the client's connection, you'd expect that future attempts to use the client connection object would report an IllegalStateException(""Object is closed") exception and AMQConnection#isClosed to return true.

      However, the 0-10 client reports "Command was interrupted because of failover, before being sent [error code 541: internal error]" and AMQConnection#isClosed reports false. This is confusing to the user.

      javax.jms.JMSException: Error closing session: org.apache.qpid.AMQException: Command was interrupted because of failover, before being sent [error code 541: internal error]
      

      It appears that the 0-10 client is current failing to flip the _closed atomic in response to a receipt of a connection.close.

      The problem does not affect 0-8..0-9-1. Its users see an IllegalStateException("Object has been closed") exception and AMQConnection#isClosed returns true in this scenario.

        Activity

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Keith Wall
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development