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

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

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.17
    • Component/s: JMS AMQP 0-x
    • 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.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: