Robbie Gemmell resolved QPIDJMS-376.
    Resolution: Not A Bug

This looks like a server issue. The server is attaching the consumers link with 
a non-null 'source' and then immediately detaching the link. As such the client 
has no way to know that the attach attempt is essentially going to be refused, 
so it will successfully open and return the consumer, and then will close it 
when the detach arrives. If you try to use the consumer, I'd expect it should 
be marked as closed and throw an exception.

The way the server should react when refusing a link, per the AMQP spec, is to 
attach the consumers link with a null source, thus indicating to the client 
that it has actually failed to complete the attach and a detach follows 
indicating the error condition. In this case the client can throw an exception 
from createConsumer() becuase it knows the link never opened successfully.

It is expected that the client does not try to restablish the link by itself in 
this case, it only recreates things itself during failover.

2018-04-10 12:12:55.002 [AmqpProvider :(1):[amqps://]] 
TRACE o.a.qpid.jms.provider.amqp.FRAMES - RECV: 
 handle=0, role=SENDER, 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, 
2018-04-10 12:12:55.003 [AmqpProvider :(1):[amqps://]] 
TRACE o.a.qpid.jms.provider.amqp.FRAMES - RECV: Detach{handle=0, closed=true, 
error=Error{condition=amqp:not-found, description='Node not found', info=null}}

> Qpid JMS client does not notify user nor retries link establishment after 
> server closes receiver link
> -----------------------------------------------------------------------------------------------------
>                 Key: QPIDJMS-376
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-376
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.31.0
>         Environment: AMQP Server: Enmasse 0.17.1
> Enmasse Address Type: anycast
>            Reporter: Daniel Maier
>            Priority: Major
>         Attachments: clientlogs.txt
> When I create a consumer to an address that just does not exist, I expected 
> to get some exception or that the client retries the operation. But there 
> seems not even to be a log message which indicates a failure.
> Is this intended behavior or is this a bug? A more general description is: If 
> AMQP server closes the receiver link, qpid jms client does not notify the 
> user anyhow or does not re-establish the link.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to