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

Kim van der Riet commented on QPID-8075:
----------------------------------------

Given that we accept 1. above and accept the limitations of QMF using only 
string correlation-ids, the following patch would solve this problem:
{noformat}
diff --git a/management/python/lib/qmf/client.py 
b/management/python/lib/qmf/client.py
index 3ba8e4b50..89beaca85 100644
--- a/management/python/lib/qmf/client.py
+++ b/management/python/lib/qmf/client.py
@@ -104,7 +104,7 @@ class SyncRequestResponse(IncomingMessageHandler):
         self.lock.acquire()
         try:
             self._cid += 1;
-            return struct.pack("L", self._cid)
+            return struct.pack("I", self._cid).decode('ascii')
         finally:
             self.lock.release()
{noformat}
for both Python 2 and Python 3.  It would send the correlation ids as 4-byte 
strings.

> BrokerAgent not working for me
> ------------------------------
>
>                 Key: QPID-8075
>                 URL: https://issues.apache.org/jira/browse/QPID-8075
>             Project: Qpid
>          Issue Type: Bug
>          Components: QMF
>    Affects Versions: qpid-cpp-1.37.0
>         Environment: Fedora 25, fully up to date
> via dnf I installed:
> qpid-proton-c-0.17.0-5.fc25.x86_64
> qpid-cpp-server-1.36.0-1.fc25.x86_64
> pip freeze in my virtual environment is:
> python-qpid-proton==0.19.0
> qpid-tools==1.37.0
> Note this is with Python 3.5.4
> Note that qpid-tools is a checkout that includes this commit 
> 0ffa89e177346e68bdeb5a24b9f25190c983bd34 because I need it, and the version 
> on PyPI does not include it.
>            Reporter: Brian Bouterse
>            Assignee: Kim van der Riet
>            Priority: Blocker
>             Fix For: qpid-cpp-1.38.0
>
>
> 1. Start qpidd and verify that it starts
> 2. Verify it's listening on 5762 using `sudo netstat -planet | grep 5672`
> 3. Telnet connect to it with `telnet localhost 5672` observe that it connects
> Try to connect it to with qmf.BrokerAgent
> from qmf.client import BrokerAgent, ReconnectDelays
> conn_opts = {'url': 'amqp://localhost:5672'}
> ba = BrokerAgent.connect(**conn_opts)
> ba.getAllQueues()
> I get this exception after 10 seconds:
>   File "/home/vagrant/devel/kombu/kombu/transport/qpid.py", line 586, in 
> exchange_declare
>     self._broker.addExchange(type, exchange, options)
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py",
>  line 344, in addExchange
>     self._method('create', args)
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py",
>  line 233, in _method
>     response = self._retry(self._request, '_method_request', content)
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py",
>  line 215, in _retry
>     return f(*args, **kwargs)
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py",
>  line 224, in _request
>     return self._client.call(Message(body=content, properties=props, 
> subject="broker"))
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py",
>  line 118, in call
>     return self.wait(self.send(request))
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/qmf/client.py",
>  line 137, in wait
>     self.connection.wait(wakeup, msg="Waiting for response")
>   File 
> "/home/vagrant/.virtualenvs/pulp/lib64/python3.5/site-packages/proton/utils.py",
>  line 292, in wait
>     raise Timeout(txt)
> proton.Timeout: Connection amqp://localhost:5672 timed out: Waiting for 
> response
> What is interesting is that on the same system with simply_send.py (the 
> standard example) it connects and sends with the exact same url. I do that 
> with this:
> (pulp) [vagrant@pulp3 devel]$ python simple_send.py --address 
> 'amqp://localhost:5672' -m 1
> all messages confirmed
> The 'all messages confirmed' suggests that everything went fine and the 
> reactor called on_accepted().
> So I conclude that BrokerAgent is somehow fundamentally not working or my 
> environment is screwed up somehow.
> This same commit checkout was working with Python 2.7. I don't have that 
> environment handy currently, but I suspect this is somehow broken with Python 
> 3.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to