[jira] [Updated] (PROTON-1517) SyncRequestResponse(BlockingConnection).call() fails with timeout
[ https://issues.apache.org/jira/browse/PROTON-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jiri Daněk updated PROTON-1517: --- Flags: Patch > SyncRequestResponse(BlockingConnection).call() fails with timeout > - > > Key: PROTON-1517 > URL: https://issues.apache.org/jira/browse/PROTON-1517 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: proton-c-0.17.0 > Environment: macOS Sierra 10.12.5 > Python 3.6.1 >Reporter: aikchar >Assignee: Justin Ross > Labels: easyfix, patch > Fix For: proton-c-0.19.0 > > > Send a QMFv2 message using SyncRequestResponse.call(). The response times out. > h2. Repro > This repro uses the example from > https://qpid.apache.org/releases/qpid-proton-0.17.0/proton/python/examples/sync_client.py.html. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > Traceback (most recent call last): > File "", line 1, in > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 400, in call > self.connection.wait(wakeup, msg="Waiting for response") > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 288, in wait > raise Timeout(txt) > proton.Timeout: Connection > amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct > timed out: Waiting for response > >>> > {noformat} > h2. Patch > Patch is to make sure correlation_id is a string. > {noformat} > $ git diff > diff --git a/proton-c/bindings/python/proton/utils.py > b/proton-c/bindings/python/proton/utils.py > index 05ef80df..528ce338 100644 > --- a/proton-c/bindings/python/proton/utils.py > +++ b/proton-c/bindings/python/proton/utils.py > @@ -349,7 +349,7 @@ class SyncRequestResponse(IncomingMessageHandler): > if not self.address and not request.address: > raise ValueError("Request message has no address: %s" % request) > request.reply_to = self.reply_to > -request.correlation_id = correlation_id = self.correlation_id.next() > +request.correlation_id = correlation_id = > str(self.correlation_id.next()) > self.sender.send(request) > def wakeup(): > return self.response and (self.response.correlation_id == > correlation_id) > {noformat} > After applying the patch, the response does not time out. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > >>> r.body > [{'_create_ts': ulong(1500315523092865467), '_delete_ts': ulong(0), > '_object_id': {'_agent_epoch': ulong(3), '_object_name': > b'org.apache.qpid.broker:queue:420cb745-f3c7-4a47-ac09-0a4711f10058:1.0'}, > '_schema_id': {'_class_name': b'queue', '_hash': > UUID('84ce326e-2cbd-6899-80d7-6267d3327e0f'), '_package_name': >
[jira] [Updated] (PROTON-1517) SyncRequestResponse(BlockingConnection).call() fails with timeout
[ https://issues.apache.org/jira/browse/PROTON-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Ross updated PROTON-1517: Fix Version/s: (was: proton-c-0.20.0) proton-c-0.19.0 > SyncRequestResponse(BlockingConnection).call() fails with timeout > - > > Key: PROTON-1517 > URL: https://issues.apache.org/jira/browse/PROTON-1517 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: proton-c-0.17.0 > Environment: macOS Sierra 10.12.5 > Python 3.6.1 >Reporter: aikchar >Assignee: Justin Ross > Labels: easyfix, patch > Fix For: proton-c-0.19.0 > > > Send a QMFv2 message using SyncRequestResponse.call(). The response times out. > h2. Repro > This repro uses the example from > https://qpid.apache.org/releases/qpid-proton-0.17.0/proton/python/examples/sync_client.py.html. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > Traceback (most recent call last): > File "", line 1, in > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 400, in call > self.connection.wait(wakeup, msg="Waiting for response") > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 288, in wait > raise Timeout(txt) > proton.Timeout: Connection > amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct > timed out: Waiting for response > >>> > {noformat} > h2. Patch > Patch is to make sure correlation_id is a string. > {noformat} > $ git diff > diff --git a/proton-c/bindings/python/proton/utils.py > b/proton-c/bindings/python/proton/utils.py > index 05ef80df..528ce338 100644 > --- a/proton-c/bindings/python/proton/utils.py > +++ b/proton-c/bindings/python/proton/utils.py > @@ -349,7 +349,7 @@ class SyncRequestResponse(IncomingMessageHandler): > if not self.address and not request.address: > raise ValueError("Request message has no address: %s" % request) > request.reply_to = self.reply_to > -request.correlation_id = correlation_id = self.correlation_id.next() > +request.correlation_id = correlation_id = > str(self.correlation_id.next()) > self.sender.send(request) > def wakeup(): > return self.response and (self.response.correlation_id == > correlation_id) > {noformat} > After applying the patch, the response does not time out. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > >>> r.body > [{'_create_ts': ulong(1500315523092865467), '_delete_ts': ulong(0), > '_object_id': {'_agent_epoch': ulong(3), '_object_name': > b'org.apache.qpid.broker:queue:420cb745-f3c7-4a47-ac09-0a4711f10058:1.0'}, > '_schema_id': {'_class_name': b'queue', '_hash': >
[jira] [Updated] (PROTON-1517) SyncRequestResponse(BlockingConnection).call() fails with timeout
[ https://issues.apache.org/jira/browse/PROTON-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Ross updated PROTON-1517: Fix Version/s: (was: proton-c-0.18.0) proton-c-0.19.0 > SyncRequestResponse(BlockingConnection).call() fails with timeout > - > > Key: PROTON-1517 > URL: https://issues.apache.org/jira/browse/PROTON-1517 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: 0.17.0 > Environment: macOS Sierra 10.12.5 > Python 3.6.1 >Reporter: aikchar >Assignee: Justin Ross > Labels: easyfix, patch > Fix For: proton-c-0.19.0 > > > Send a QMFv2 message using SyncRequestResponse.call(). The response times out. > h2. Repro > This repro uses the example from > https://qpid.apache.org/releases/qpid-proton-0.17.0/proton/python/examples/sync_client.py.html. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > Traceback (most recent call last): > File "", line 1, in > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 400, in call > self.connection.wait(wakeup, msg="Waiting for response") > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 288, in wait > raise Timeout(txt) > proton.Timeout: Connection > amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct > timed out: Waiting for response > >>> > {noformat} > h2. Patch > Patch is to make sure correlation_id is a string. > {noformat} > $ git diff > diff --git a/proton-c/bindings/python/proton/utils.py > b/proton-c/bindings/python/proton/utils.py > index 05ef80df..528ce338 100644 > --- a/proton-c/bindings/python/proton/utils.py > +++ b/proton-c/bindings/python/proton/utils.py > @@ -349,7 +349,7 @@ class SyncRequestResponse(IncomingMessageHandler): > if not self.address and not request.address: > raise ValueError("Request message has no address: %s" % request) > request.reply_to = self.reply_to > -request.correlation_id = correlation_id = self.correlation_id.next() > +request.correlation_id = correlation_id = > str(self.correlation_id.next()) > self.sender.send(request) > def wakeup(): > return self.response and (self.response.correlation_id == > correlation_id) > {noformat} > After applying the patch, the response does not time out. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > >>> r.body > [{'_create_ts': ulong(1500315523092865467), '_delete_ts': ulong(0), > '_object_id': {'_agent_epoch': ulong(3), '_object_name': > b'org.apache.qpid.broker:queue:420cb745-f3c7-4a47-ac09-0a4711f10058:1.0'}, > '_schema_id': {'_class_name': b'queue', '_hash': >
[jira] [Updated] (PROTON-1517) SyncRequestResponse(BlockingConnection).call() fails with timeout
[ https://issues.apache.org/jira/browse/PROTON-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Ross updated PROTON-1517: Fix Version/s: (was: 0.18.0) proton-c-0.18.0 > SyncRequestResponse(BlockingConnection).call() fails with timeout > - > > Key: PROTON-1517 > URL: https://issues.apache.org/jira/browse/PROTON-1517 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: 0.17.0 > Environment: macOS Sierra 10.12.5 > Python 3.6.1 >Reporter: aikchar >Assignee: Justin Ross > Labels: easyfix, patch > Fix For: proton-c-0.18.0 > > > Send a QMFv2 message using SyncRequestResponse.call(). The response times out. > h2. Repro > This repro uses the example from > https://qpid.apache.org/releases/qpid-proton-0.17.0/proton/python/examples/sync_client.py.html. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > Traceback (most recent call last): > File "", line 1, in > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 400, in call > self.connection.wait(wakeup, msg="Waiting for response") > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 288, in wait > raise Timeout(txt) > proton.Timeout: Connection > amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct > timed out: Waiting for response > >>> > {noformat} > h2. Patch > Patch is to make sure correlation_id is a string. > {noformat} > $ git diff > diff --git a/proton-c/bindings/python/proton/utils.py > b/proton-c/bindings/python/proton/utils.py > index 05ef80df..528ce338 100644 > --- a/proton-c/bindings/python/proton/utils.py > +++ b/proton-c/bindings/python/proton/utils.py > @@ -349,7 +349,7 @@ class SyncRequestResponse(IncomingMessageHandler): > if not self.address and not request.address: > raise ValueError("Request message has no address: %s" % request) > request.reply_to = self.reply_to > -request.correlation_id = correlation_id = self.correlation_id.next() > +request.correlation_id = correlation_id = > str(self.correlation_id.next()) > self.sender.send(request) > def wakeup(): > return self.response and (self.response.correlation_id == > correlation_id) > {noformat} > After applying the patch, the response does not time out. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > >>> r.body > [{'_create_ts': ulong(1500315523092865467), '_delete_ts': ulong(0), > '_object_id': {'_agent_epoch': ulong(3), '_object_name': > b'org.apache.qpid.broker:queue:420cb745-f3c7-4a47-ac09-0a4711f10058:1.0'}, > '_schema_id': {'_class_name': b'queue', '_hash': >
[jira] [Updated] (PROTON-1517) SyncRequestResponse(BlockingConnection).call() fails with timeout
[ https://issues.apache.org/jira/browse/PROTON-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Ross updated PROTON-1517: Fix Version/s: 0.18.0 > SyncRequestResponse(BlockingConnection).call() fails with timeout > - > > Key: PROTON-1517 > URL: https://issues.apache.org/jira/browse/PROTON-1517 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding >Affects Versions: 0.17.0 > Environment: macOS Sierra 10.12.5 > Python 3.6.1 >Reporter: aikchar >Assignee: Justin Ross > Labels: easyfix, patch > Fix For: proton-c-0.18.0 > > > Send a QMFv2 message using SyncRequestResponse.call(). The response times out. > h2. Repro > This repro uses the example from > https://qpid.apache.org/releases/qpid-proton-0.17.0/proton/python/examples/sync_client.py.html. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > Traceback (most recent call last): > File "", line 1, in > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 400, in call > self.connection.wait(wakeup, msg="Waiting for response") > File > "/Users/hamza.sheikh/virtualenvs/flight-test-py36/lib/python3.6/site-packages/proton/utils.py", > line 288, in wait > raise Timeout(txt) > proton.Timeout: Connection > amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct > timed out: Waiting for response > >>> > {noformat} > h2. Patch > Patch is to make sure correlation_id is a string. > {noformat} > $ git diff > diff --git a/proton-c/bindings/python/proton/utils.py > b/proton-c/bindings/python/proton/utils.py > index 05ef80df..528ce338 100644 > --- a/proton-c/bindings/python/proton/utils.py > +++ b/proton-c/bindings/python/proton/utils.py > @@ -349,7 +349,7 @@ class SyncRequestResponse(IncomingMessageHandler): > if not self.address and not request.address: > raise ValueError("Request message has no address: %s" % request) > request.reply_to = self.reply_to > -request.correlation_id = correlation_id = self.correlation_id.next() > +request.correlation_id = correlation_id = > str(self.correlation_id.next()) > self.sender.send(request) > def wakeup(): > return self.response and (self.response.correlation_id == > correlation_id) > {noformat} > After applying the patch, the response does not time out. > {noformat} > $ python > Python 3.6.1 (default, Apr 24 2017, 09:59:45) > [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>> address = > >>> 'amqps://REDACTED_USERNAME:REDACTED_PASSWORD@REDACTED_IP_ADDR:5672/qmf.default.direct' > >>> from proton import Url > >>> url = Url(address) > >>> > >>> from proton.utils import SyncRequestResponse, BlockingConnection > >>> client = SyncRequestResponse(BlockingConnection(url, timeout=15, > >>> target='qmf.default.direct', sasl_enabled=True, allowed_mechs='PLAIN'), > >>> 'qmf.default.direct') > >>> > >>> content = {'_what': 'OBJECT', '_schema_id': {'_class_name': 'queue'}} > >>> properties = {'x-amqp-0-10.app-id': 'qmf2', 'qmf.opcode': > >>> '_query_request', 'method': 'request'} > >>> > >>> from proton import Message > >>> m = Message(reply_to=client.receiver.remote_source.address, > >>> address=address, body=content, properties=properties, subject='broker') > >>> r = client.call(m) > >>> r.body > [{'_create_ts': ulong(1500315523092865467), '_delete_ts': ulong(0), > '_object_id': {'_agent_epoch': ulong(3), '_object_name': > b'org.apache.qpid.broker:queue:420cb745-f3c7-4a47-ac09-0a4711f10058:1.0'}, > '_schema_id': {'_class_name': b'queue', '_hash': > UUID('84ce326e-2cbd-6899-80d7-6267d3327e0f'), '_package_name': >