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

ASF subversion and git services commented on DISPATCH-1453:
-----------------------------------------------------------

Commit 37aef86a9ac20f5925de955846dd001de117ed5a in qpid-dispatch's branch 
refs/heads/master from Ganesh Murthy
[ https://gitbox.apache.org/repos/asf?p=qpid-dispatch.git;h=37aef86 ]

DISPATCH-1453 - Fix the code so that a correct error message shows up when a tx 
sender attaches in the absence of a coordinated link route. This closes #602.


> Adding "defaultDistribution: unavailable" overrides the regular handling of 
> transaction coordinator link refusal
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: DISPATCH-1453
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-1453
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 1.9.0
>            Reporter: Robbie Gemmell
>            Assignee: Ganesh Murthy
>            Priority: Minor
>
>  DISPATCH-802 added handling to refuse links to the transaction coordinator 
> (which has no address, but is a specific target) if a link route to e.g a 
> broker isnt configured (using DISPATCH-195), and help clarify the reasons for 
> the refusal.
> DISPATCH-803 was added to provide a way for links to adressses that are 
> otherwise unknown to be refused rather than message routed, by setting 
> "defaultDistribution: unavailable". This functionality overrides the 
> behaviour from DISPATCH-802, making it less clear again why a transaction 
> usage attempt has failed.
> From a JMS client trying to create a transacted session, the failure with 
> "defaultDistribution: unavailable" config present looks like:
> {noformat}
> javax.jms.JMSException: No route to the destination node [condition = 
> qd:no-route-to-dest]
>  at 
> org.apache.qpid.jms.provider.ProviderException.toJMSException(ProviderException.java:34)
>  at 
> org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:80)
>  at 
> org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:112)
>  at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:698)
>  at 
> org.apache.qpid.jms.JmsLocalTransactionContext.begin(JmsLocalTransactionContext.java:140)
>  at org.apache.qpid.jms.JmsSession.<init>(JmsSession.java:172)
>  at org.apache.qpid.jms.JmsConnection.createSession(JmsConnection.java:316)
>  at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:52)
> {noformat}
> While without it,the router sends a more specific error condition, and so the 
> failure normally looks like:
> {noformat}
> javax.jms.JMSException: The router can't coordinate transactions by itself, a 
> linkRoute to a coordinator must be configured to use transactions. [condition 
> = amqp:precondition-failed]
>  at 
> org.apache.qpid.jms.provider.ProviderException.toJMSException(ProviderException.java:34)
>  at 
> org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:80)
>  at 
> org.apache.qpid.jms.exceptions.JmsExceptionSupport.create(JmsExceptionSupport.java:112)
>  at org.apache.qpid.jms.JmsConnection.createResource(JmsConnection.java:698)
>  at 
> org.apache.qpid.jms.JmsLocalTransactionContext.begin(JmsLocalTransactionContext.java:140)
>  at org.apache.qpid.jms.JmsSession.<init>(JmsSession.java:172)
>  at org.apache.qpid.jms.JmsConnection.createSession(JmsConnection.java:316)
>  at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:52)
> {noformat}
> It would be nicer if the regular coordinator refusal error condition was sent 
> in both cases.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to