Rafael H. Schloming commented on PROTON-561:

What you're seeing there is expected in that the client is looking for a SASL 
header and finding something (in this case the 0-10 header). We could make the 
behaviour more friendly in a couple of ways, the simplest would be to just 
rephrase the error message so it's more clear that it is a protocol header 
missmatch, e.g. something like "Protocol header missmatch: expecting SASL 
header, found X". To get slightly fancier we could probably have some sort of 
lookup for common headers we might run into like the 0-10 headers or TLS 
headers. That would allow us to put something human readable in for X instead 
of just displaying the raw binary.

On the original topic, I haven't yet verified if this is the issue, but if you 
notice, the detach coming from the Java Broker does not specify closed=true, 
and the default value would be closed=false. That could be the cause of the 
hang and is probably deserving of a separate JIRA for the Java broker. Either 
way proton should handle the situation more gracefully than just hanging so I'd 
say this JIRA still stands.

> Using the java broker, messenger apparently doesn't propagate error back from 
> broker to messenger
> -------------------------------------------------------------------------------------------------
>                 Key: PROTON-561
>                 URL: https://issues.apache.org/jira/browse/PROTON-561
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: proton-c
>    Affects Versions: 0.6, 0.7
>            Reporter: Justin Ross
> (The java broker logging for AMQP 1.0 is minimal; I'll mention that in 
> another jira.)
> The test program below simply hangs.  It didn't seem to want to time out, 
> either.
> {noformat}
> from proton import Message, Messenger
> msgr = Messenger()
> msgr.start()
> try:
>     msg = Message()
>     msg.address = "amqp://"
>     msg.body = "test"
>     msgr.put(msg)
>     msgr.send()
> finally:
>     msgr.stop()
> {noformat}
> By contrast, the same operation rendered in the qpid_messaging API produces 
> the expected error:
> {noformat}
> import sys
> # You will need to build the swig python binding and point at it
> sys.path.append("/home/jross/code/qpid/cpp/build/bindings/qpid/python")
> from qpid_messaging import Connection
> conn = Connection("", protocol="amqp1.0")
> conn.open()
> try:
>     session = conn.session()
>     sender = session.sender("test")
>     message = Message("test")
>     sender.send(message)
> finally:
>     conn.close()
> {noformat}
> Error:
> {noformat}
> Traceback (most recent call last):
>   File "/home/jross/test2.py", line 13, in <module>
>     sender = session.sender("test")
>   File 
> "/home/jross/code/qpid/cpp/build/bindings/qpid/python/qpid_messaging.py", 
> line 560, in sender
>     s = self._sender(target)
>   File 
> "/home/jross/code/qpid/cpp/build/bindings/qpid/python/qpid_messaging.py", 
> line 532, in _sender
>     def _sender(self, *args): return _qpid_messaging.Session__sender(self, 
> *args)
> _qpid_messaging.NotFound: No such target : test
> {noformat}

This message was sent by Atlassian JIRA

Reply via email to