When AMQP links are opened and closed in quick succession, Artemis doesn’t always respond with attach/detach frames confirming the opening/closing of the links

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

When AMQP links are opened and closed in quick succession, Artemis doesn’t always respond with attach/detach frames confirming the opening/closing of the links

schalmers
This post was updated on .
A trace of a message exchange with Artemis where this has occurred is below.
The lines show opening and then closing two AMQP links, but Artemis doesn’t
respond after that with its own attach/detach frames, which acknowledge the
opening/closing of those links.Question: does anyone expect this behaviour
to be normal, or acceptable?Note that this doesn’t always happen. Sometimes
Artemis does respond, as shown by the lines highlighted in bold/grey in the
trace below.

SEND AMQP 3 1 0 0
RECV sasl-mechanisms(sasl-server-mechanisms:[PLAIN,ANONYMOUS])
SEND sasl-init(mechanism:PLAIN,initial-response:...,hostname:localhost)
RECV sasl-outcome(code:0)
SEND AMQP 0 1.0.0
SEND (ch=0) open(container-id:AMQPNetLite-43a6c9ad,host-name:localhost,max-frame-size:262144,channel-max:255,idle-time-out:2147483647)
RECV AMQP 0 1 0 0
SEND (ch=0) begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:63)
RECV (ch=0) open(container-id:0.0.0.0,max-frame-size:131072,channel-max:65535,idle-time-out:30000,offered-capabilities:[sole-connection-for-container,DELAYED_DELIVERY,SHARED-SUBS,ANONYMOUS-RELAY],properties:[product:apache-activemq-artemis,version:2.6.3])
SEND (ch=0) attach(name:link1,handle:0,role:False,source:source(),target:target(address:q1),initial-delivery-count:0)
SEND (ch=0) detach(handle:0,closed:True)
SEND (ch=0) attach(name:link0,handle:1,role:False,source:source(),target:target(address:q0),initial-delivery-count:0)
SEND (ch=0) detach(handle:1,closed:True)
RECV (ch=0) begin(remote-channel:0,next-outgoing-id:1,incoming-window:2147483647,outgoing-window:2147483647,handle-max:65535)
SEND (ch=0) empty
SEND (ch=0) empty
SEND (ch=0) empty
SEND (ch=0) empty

Note that this doesn’t always happen. Sometimes Artemis does respond, as shown by the lines highlighted in bold/grey in the trace below.

SEND AMQP 3 1 0 0
RECV sasl-mechanisms(sasl-server-mechanisms:[PLAIN,ANONYMOUS])
SEND sasl-init(mechanism:PLAIN,initial-response:...,hostname:localhost)
RECV sasl-outcome(code:0)
SEND AMQP 0 1.0.0
SEND (ch=0) open(container-id:AMQPNetLite-b00e0be7,host-name:localhost,max-frame-size:262144,channel-max:255,idle-time-out:2147483647)
RECV AMQP 0 1 0 0
RECV (ch=0) open(container-id:0.0.0.0,max-frame-size:131072,channel-max:65535,idle-time-out:30000,offered-capabilities:[sole-connection-for-container,DELAYED_DELIVERY,SHARED-SUBS,ANONYMOUS-RELAY],properties:[product:apache-activemq-artemis,version:2.6.3])
SEND (ch=0) begin(next-outgoing-id:4294967293,incoming-window:2048,outgoing-window:2048,handle-max:63)
RECV (ch=0) begin(remote-channel:0,next-outgoing-id:1,incoming-window:2147483647,outgoing-window:2147483647,handle-max:65535)
SEND (ch=0) attach(name:link1,handle:0,role:False,source:source(),target:target(address:q1),initial-delivery-count:0)
SEND (ch=0) detach(handle:0,closed:True)
SEND (ch=0) attach(name:link0,handle:1,role:False,source:source(),target:target(address:q0),initial-delivery-count:0)
SEND (ch=0) detach(handle:1,closed:True)
RECV (ch=0) attach(name:link1,handle:0,role:True,snd-settle-mode:2,rcv-settle-mode:0,source:source(),target:target(address:q1))
RECV (ch=0) flow(next-in-id:4294967293,in-window:2147483647,next-out-id:1,out-window:2147483647,handle:0,delivery-count:0,link-credit:1000)
RECV (ch=0) detach(handle:0,closed:True)
SEND (ch=0) attach(name:link1,handle:0,role:False,source:source(),target:target(address:q1),initial-delivery-count:0)
SEND (ch=0) detach(handle:0,closed:True)
SEND (ch=0) empty
SEND (ch=0) empty
SEND (ch=0) empty
SEND (ch=0) empty