[ https://issues.apache.org/jira/browse/DISPATCH-1488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16981737#comment-16981737 ]
Robbie Gemmell commented on DISPATCH-1488: ------------------------------------------ I tested the changes out and they got things going again. I did however also spot DISPATCH-1496 while doing that. > link-routed transaction coordination broken due to 'declared' state truncation > ------------------------------------------------------------------------------ > > Key: DISPATCH-1488 > URL: https://issues.apache.org/jira/browse/DISPATCH-1488 > Project: Qpid Dispatch > Issue Type: Bug > Affects Versions: 1.9.0, 1.10.0 > Reporter: Robbie Gemmell > Assignee: Ken Giusti > Priority: Blocker > Fix For: 1.10.0 > > > The 1.9.0 release and current master for 1.10.0 both truncate the 'declared' > transaction delivery state when routing a transaction coordinator link to a > broker peer, omitting the contained txn-id and breaking all ability to link > route transactional work through the router. > Some output while trying this to debug an unrelated issue is detailed below. > First, a message transfer arrives at the router with body requesting a > transaction declare. The router sends the link-routed transfer onward to the > broker: > {noformat} > [0x2251560]:1 <- @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00", message-format=0, settled=false] (7) "\x00Sw\x00S1E" > [0x21ddf40]:0 -> @transfer(20) [handle=1, delivery-id=0, > delivery-tag=b"\x00", message-format=0] (7) "\x00Sw\x00S1E" > {noformat} > (Not shown, after the above in the case being debugged, there was a > non-transactional transfer on a second session across the same client->router > connection, then forwarded on the same router->broker connection). > The broker peer establishes a transaction and responds with disposition to > indicate it is declared, and providing the mandatory txn-id. The router > relays this disposition, but critically drops the txn-id from the delivery > state: > {noformat} > [0x21ddf40]:0 <- @disposition(21) [role=true, first=0, last=0, settled=true, > state=@declared(51) [txn-id=b"4a12a39a-09fe-11ea-91ae-000c29e9f622"]] > [0x2251560]:1 -> @disposition(21) [role=true, first=0, settled=true, > state=@declared(51) null] > {noformat} > The recipient client then barfs at this point since txn-id is mandatory for > the declared state. > Using 1.8.0, the declared state transited the router fine: > {noformat} > [0x1f49530]:0 <- @disposition(21) [role=true, first=0, last=0, settled=true, > state=@declared(51) [txn-id=b"78dabc4f-0a00-11ea-bb46-000c29e9f622"]] > [0x1fc2b20]:2 -> @disposition(21) [role=true, first=0, settled=true, > state=@declared(51) [txn-id=b"78dabc4f-0a00-11ea-bb46-000c29e9f622"]] > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org