[ https://issues.apache.org/jira/browse/DISPATCH-562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15664938#comment-15664938 ]
Chuck Rolke commented on DISPATCH-562: -------------------------------------- The original issue misidentifies the routing scenario as message routing when it is actually link routing. Note that the tool shows the Attach frames having source and target = null. Digging deeper the actual endpoints were not null. Somewhere along the way Wireshark changed how it encodes AMQP frames in pdml. I've fixed this in my tool [1] A corrected trace is: {noformat} ◊ ◊◊ 5.245176 Frame 39 [::1]:40896 -> [::1]:9001 -> init AMQP (0): (1.0.0), open [0], begin [0,null], attach [0,0] sender link_0 (source: null, target: endpoint_1) ◊ ◊◊ 5.245340 Frame 41 [::1]:40896 <- [::1]:9001 <- init AMQP (0): (1.0.0) ◊ ◊◊ 5.245406 Frame 42 [::1]:40896 <- [::1]:9001 <- open [0], begin [0,0] ◊ ◊◊ 5.245409 Frame 43 [::1]:39572 -> [::1]:9002 -> init AMQP (0): (1.0.0), open [0], begin [0,null], attach [0,0] receiver link_1 (source: endpoint_1, target: null), flow [0,0] (0,10) ◊ ◊◊ 5.245476 Frame 45 [::1]:48300 -> [::1]:5672 -> begin [0,null], attach [0,0] sender link_0 (source: null, target: endpoint_1) ◊ ◊◊ 5.246329 Frame 48 [::1]:48300 <- [::1]:5672 <- begin [0,0], attach [0,0] receiver link_0 (source: null, target: endpoint_1), flow [0,0] (0,500) ◊ ◊◊ 5.246389 Frame 50 [::1]:39572 <- [::1]:9002 <- init AMQP (0): (1.0.0), open [0], begin [0,0] ◊ ◊◊ 5.246464 Frame 52 [::1]:48298 -> [::1]:5672 -> begin [0,null], attach [0,0] receiver link_1 (source: endpoint_1, target: null), flow [0,0] (0,10) ◊ ◊◊ 5.246581 Frame 54 [::1]:40896 <- [::1]:9001 <- attach [0,0] receiver link_0 (source: null, target: endpoint_1), flow [0,0] (0,500) ◊ ◊◊ 5.246878 Frame 56 [::1]:40896 -> [::1]:9001 -> transfer [0,0] (0..4) ◊ ◊◊ 5.247085 Frame 58 [::1]:48298 <- [::1]:5672 <- begin [0,0], attach [0,0] sender link_1 (source: endpoint_1, target: null) ◊ ◊◊ 5.247207 Frame 59 [::1]:39572 <- [::1]:9002 <- attach [0,0] sender link_1 (source: endpoint_1, target: null) ◊ ◊◊ 5.247236 Frame 61 [::1]:48300 -> [::1]:5672 -> transfer [0,0] (0..4) ◊ ◊◊ 5.247481 Frame 63 [::1]:48300 <- [::1]:5672 <- flow [0,0] (5,500), disposition [0] (receiver 0-4) ◊ ◊◊ 5.247571 Frame 64 [::1]:48298 <- [::1]:5672 <- transfer [0,0] (0..4) ◊ ◊◊ 5.247575 Frame 65 [::1]:40896 <- [::1]:9001 <- flow [0,0] (5,500), disposition [0] (receiver 0-4) ◊ ◊◊ 5.247648 Frame 67 [::1]:40896 -> [::1]:9001 -> close [0] ◊ ◊◊ 5.247702 Frame 68 [::1]:40896 <- [::1]:9001 <- close [0] ◊ ◊◊ 5.250888 Frame 72 [::1]:39572 <- [::1]:9002 <- transfer [0,0] (0..4) ◊ ◊◊ 5.251012 Frame 74 [::1]:48300 -> [::1]:5672 -> detach [0,0] ◊ ◊◊ 5.251075 Frame 75 [::1]:48300 <- [::1]:5672 <- detach [0,0] ◊ ◊◊ 5.251161 Frame 76 [::1]:39572 -> [::1]:9002 -> disposition [0] (receiver 0-4), detach [0,0], close [0] ◊ ◊◊ 5.251231 Frame 77 [::1]:39572 <- [::1]:9002 <- close [0] ◊ ◊◊ 5.251235 Frame 78 [::1]:48298 -> [::1]:5672 -> detach [0,0] ◊ ◊◊ 5.251540 Frame 82 [::1]:48298 <- [::1]:5672 <- disposition [0] (sender 0-0), disposition [0] (sender 1-1), disposition [0] (sender 2-2), disposition [0] (sender 3-3), disposition [0] (sender 4-4), detach [0,0] {noformat} The endpoint index: {noformat} endpoint_0 - null endpoint_1 - jms.queue.qpid-interop.amqp_types_test.binary.ProtonCpp.ProtonCpp endpoint_2 - jms.queue.qpid-interop.amqp_types_test.boolean.ProtonCpp.ProtonCpp .... {noformat} [1] https://github.com/ChugR/Adverb/commit/06c2cfc8930f80cddfabae2abfd74fae152f7b77 > Router does not forward dispositions when client detach/close is in same frame > ------------------------------------------------------------------------------ > > Key: DISPATCH-562 > URL: https://issues.apache.org/jira/browse/DISPATCH-562 > Project: Qpid Dispatch > Issue Type: Bug > Components: Container > Affects Versions: 0.8.0 > Environment: qpid-interop-test > $ amqp_types_test.py --sender localhost:9001 --receiver localhost:9002 > Reporter: Chuck Rolke > > In this test there are two clients, two routers, and one broker. > {noformat} > [Sender] --> [Node 1/9001] --> [Broker] --> [Node 2/9002] --> [Receiver] > {noformat} > Messages are accepted successfully but sometimes they get stuck in the > broker. This problem is illustrated by this AMQP stream: > {noformat} > ◊ ◊◊ 5.245176 Frame 39 [::1]:40896 -> [::1]:9001 -> init AMQP (0): > (1.0.0), open [0], begin [0,null], attach [0,0] sender link_0 (source: null, > target: null) > ◊ ◊◊ 5.245340 Frame 41 [::1]:40896 <- [::1]:9001 <- init AMQP (0): > (1.0.0) > ◊ ◊◊ 5.245406 Frame 42 [::1]:40896 <- [::1]:9001 <- open [0], begin > [0,0] > ◊ ◊◊ 5.245409 Frame 43 [::1]:39572 -> [::1]:9002 -> init AMQP (0): > (1.0.0), open [0], begin [0,null], attach [0,0] receiver link_1 (source: > null, target: null), flow [0,0] (0,10) > ◊ ◊◊ 5.245476 Frame 45 [::1]:48300 -> [::1]:5672 -> begin [0,null], > attach [0,0] sender link_0 (source: null, target: null) > ◊ ◊◊ 5.246329 Frame 48 [::1]:48300 <- [::1]:5672 <- begin [0,0], > attach [0,0] receiver link_0 (source: null, target: null), flow [0,0] (0,500) > ◊ ◊◊ 5.246389 Frame 50 [::1]:39572 <- [::1]:9002 <- init AMQP (0): > (1.0.0), open [0], begin [0,0] > ◊ ◊◊ 5.246464 Frame 52 [::1]:48298 -> [::1]:5672 -> begin [0,null], > attach [0,0] receiver link_1 (source: null, target: null), flow [0,0] (0,10) > ◊ ◊◊ 5.246581 Frame 54 [::1]:40896 <- [::1]:9001 <- attach [0,0] > receiver link_0 (source: null, target: null), flow [0,0] (0,500) > ◊ ◊◊ 5.246878 Frame 56 [::1]:40896 -> [::1]:9001 -> transfer [0,0] > (0..4) > ◊ ◊◊ 5.247085 Frame 58 [::1]:48298 <- [::1]:5672 <- begin [0,0], > attach [0,0] sender link_1 (source: null, target: null) > ◊ ◊◊ 5.247207 Frame 59 [::1]:39572 <- [::1]:9002 <- attach [0,0] > sender link_1 (source: null, target: null) > ◊ ◊◊ 5.247236 Frame 61 [::1]:48300 -> [::1]:5672 -> transfer [0,0] > (0..4) > ◊ ◊◊ 5.247481 Frame 63 [::1]:48300 <- [::1]:5672 <- flow [0,0] > (5,500), disposition [0] (receiver 0-4) > ◊ ◊◊ 5.247571 Frame 64 [::1]:48298 <- [::1]:5672 <- transfer [0,0] > (0..4) > ◊ ◊◊ 5.247575 Frame 65 [::1]:40896 <- [::1]:9001 <- flow [0,0] > (5,500), disposition [0] (receiver 0-4) > ◊ ◊◊ 5.247648 Frame 67 [::1]:40896 -> [::1]:9001 -> close [0] > ◊ ◊◊ 5.247702 Frame 68 [::1]:40896 <- [::1]:9001 <- close [0] > ◊ ◊◊ 5.250888 Frame 72 [::1]:39572 <- [::1]:9002 <- transfer [0,0] > (0..4) > ◊ ◊◊ 5.251012 Frame 74 [::1]:48300 -> [::1]:5672 -> detach [0,0] > ◊ ◊◊ 5.251075 Frame 75 [::1]:48300 <- [::1]:5672 <- detach [0,0] > ◊ ◊◊ 5.251161 Frame 76 [::1]:39572 -> [::1]:9002 -> disposition [0] > (receiver 0-4), detach [0,0], close [0] > ◊ ◊◊ 5.251231 Frame 77 [::1]:39572 <- [::1]:9002 <- close [0] > ◊ ◊◊ 5.251235 Frame 78 [::1]:48298 -> [::1]:5672 -> detach [0,0] > ◊ ◊◊ 5.251540 Frame 82 [::1]:48298 <- [::1]:5672 <- disposition [0] > (sender 0-0), disposition [0] (sender 1-1), disposition [0] (sender 2-2), > disposition [0] (sender 3-3), disposition [0] (sender 4-4), detach [0,0] > {noformat} > This trace is from a message routing scenario with: > * Sender client (port 40896) connects to routerA (port 9001) > * Receiver client (port 39572) connects to routerB (port 9002) > * RouterA (port 48300) connects to Qpidd broker (port 5672) > * RouterB (port 48298) connects to Qpidd broker (port 5672) > Note that the router-broker connections are long lived and don't start or > stop in this trace. > * Frames 39..68 include link setup and the complete transfer of frames from > the sender. > * Frame 72 has the transfer of 5 messages to the receiver client. > * Frames 74..75 is RouterA detaching the clients sender link to the broker > * Frame 76 is the receiver sending accepted dispositions for all five frames > to routerB. > Note that this frame also has the link detach and connection close. > * Frame 77 is routerB closing the connection to the receiver client. > * Frame 78 is routerB detaching the receiver's link to the broker. > * Frame 86 is the broker sending back five dispositions with Settled=true but > not Accepted. The messages remain in the broker. The broker also closes the > link. > The issue is that routerB did not forward the receiver client's dispositions > in Frame 76 to the broker but just detached the link. > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org