You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/11/21 14:07:00 UTC

[jira] [Commented] (DISPATCH-1488) link-routed transaction coordination broken due to 'declared' state truncation

    [ https://issues.apache.org/jira/browse/DISPATCH-1488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16979302#comment-16979302 ] 

ASF GitHub Bot commented on DISPATCH-1488:
------------------------------------------

kgiusti commented on pull request #625: DISPATCH-1488: properly forward tranaction coordinator disposition data
URL: https://github.com/apache/qpid-dispatch/pull/625
 
 
   Will add unit test in a following patch.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> 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-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org