Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-89

[AMQP] Broker sends unsolicited Detach during connection shutdown

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • A-MQ 7.0.0.ER13
    • A-MQ 7.0.0.ER7
    • None
    • Hide

      1. Start the broker on linux
      2. Start the Lite self test

      mstest /testcontainer:./Test.Amqp.Net/Test.Amqp.Net.dll /test:TestMethod_LinkReopen
      
      Show
      1. Start the broker on linux 2. Start the Lite self test mstest /testcontainer:./Test.Amqp.Net/Test.Amqp.Net.dll /test:TestMethod_LinkReopen

      Test code:

                  Connection connection = new Connection(address);
                  Session session = new Session(connection);
      
                  ReceiverLink receiver = new ReceiverLink(session, "receiver", "q1");
      
                  session.Close(0);
                  connection.Close();
      

      causes an error in the amqpnetlite client:

      {error(condition:amqp:illegal-state,description:Operation 'Send' is not valid under state: CloseSent.)}
      

      The error is caused by the broker sending a Detach. The client did not send a detach and was trying to reply to the broker's Detach.

      ◊  ◊◊ 5.721947  Frame 1644  10.18.96.1:15490  -> 10.10.61.131:5672  ->   attach [0,0] receiver receiver (source: q1, target: null)
      ◊  ◊◊ 5.721998  Frame 1645  10.18.96.1:15490  -> 10.10.61.131:5672  ->   end [0]
      ◊  ◊◊ 5.722025  Frame 1646  10.18.96.1:15490  -> 10.10.61.131:5672  ->   close [0]
      ◊  ◊◊ 5.736676  Frame 1649  10.18.96.1:15490 <-  10.10.61.131:5672 <-    attach [0,0] sender receiver (source: q1, target: null), detach [0,0], end [0], close [0]
      

      Qpidd does not send the detach seen in Frame 1649.

      Arguably the client would see this condition if the broker decided to detach the link by itself just as the client was closing the session and connection. But that's not really the case here.

            fnigro Francesco Nigro
            crolke@redhat.com Chuck Rolke (Inactive)
            David Kornel David Kornel
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: