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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.17
    • JMS AMQP 0-x
    • 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

            robbie Robbie Gemmell
            kwall Keith Wall
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: