[ 
https://issues.apache.org/jira/browse/DISPATCH-802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robbie Gemmell reopened DISPATCH-802:
-------------------------------------

Reopening as upon testing it seems the link is not being refused properly, 
there is still a target being set on the attach when there shouldn't be:

{noformat}
[2016906257:1] -> 
Attach{name='qpid-jms:coordinator:ID:db8ca07c-92cf-4f9f-a1eb-492b220709dc:1:1', 
handle=0, role=SENDER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, 
source=Source{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, 
filter=null, defaultOutcome=null, outcomes=[amqp:accepted:list, 
amqp:rejected:list, amqp:released:list, amqp:modified:list], 
capabilities=null}, target=Coordinator{capabilities=[amqp:local-transactions]}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, 
maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[2016906257:1] <- 
Attach{name='qpid-jms:coordinator:ID:db8ca07c-92cf-4f9f-a1eb-492b220709dc:1:1', 
handle=0, role=RECEIVER, sndSettleMode=MIXED, rcvSettleMode=FIRST, 
source=Source{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, 
filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, 
target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, 
timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, 
unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, 
maxMessageSize=0, offeredCapabilities=null, desiredCapabilities=null, 
properties=null}
[2016906257:1] <- Detach{handle=0, closed=true, 
error=Error{condition=amqp:not-found, description='Link attach forbidden, there 
is no route to a coordinator, the router cannot coordinate transactions by 
itself. Try setting up a linkRoute to a coordinator and try again', info=null}}
{noformat}

Also, in hindsight, I think using "amqp:precondition-failed" would be more 
appropriate than "amqp:not-found" here, as there are definitely some noteworthy 
pre-conditions to using transactions with the router in that you must make the 
appropriate configuration, and should only do so after ensuring the overall 
usage pattern actually aligns with that needed to allow transactions to be 
successful with the router(s) in place.

The error description could perhaps also be a bit more succinct, e.g: "The 
router can't coordinate transactions by itself, a linkRoute to a coordinator 
must be configured to use transactions." 

> refuse transaction coordination links if they can't be routed to a coordinator
> ------------------------------------------------------------------------------
>
>                 Key: DISPATCH-802
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-802
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 0.8.0
>            Reporter: Robbie Gemmell
>            Assignee: Ganesh Murthy
>             Fix For: 1.0.0
>
>
> The router is accepting transaction coordinator links even if the support 
> from DISPATCH-195 is not being used to link-route them somewhere that can 
> handle coordination. If the router can't link-route to a coordinator, and 
> knows it can't coordinate transactions itself, it shouldn't accept the links 
> to begin with but rather refuse them so clients know they will never work and 
> why.
> Prior to 0.8.0, credit was also given on these links, allowing attempt to 
> declare transactions. From 0.8.0 no credit is given since there is no 
> receiver, so clients have no way to use the accepted link and no indication 
> why.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to