[
https://issues.apache.org/jira/browse/DISPATCH-1913?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17267402#comment-17267402
]
Andrew Stitcher commented on DISPATCH-1913:
-------------------------------------------
The addresses given to Container.connect have been specified to be strings
(type str) not Urls (type proton.Url) for many releases now. These strings are
specified to be simple host:port strings. Urls are accepted but converted
immediately to strings as they will work as strings anyway. However when this
change was made it wasn't consistent and the url property of the
BlockingConnection previously returned the address supplied to connect
converted to a Url type,
The point of this PR is to allow multiple connection addresses to be tried in a
BlockingConnection and so the url property has been changed to give the address
that actually connected, (rather than just return the single address exactly as
it was passed in but with defaults filled in).
We could change the return to be a Url type, but it couldn't be the entirity of
any Url type passed in anymore it would only be the host and port parts,
because that is all that is (needed to be) preserved for the actual connection.
So I don't think this would help. In any case you can get the same result by
converting the result directly to a Url in the application code. In any case
the application will have to preserve the path element itself somehow - it is
only an accident that this has been preserved through the library anyway for a
connection.
> All system tests that run qdstat/qdmanage fail on Ubuntu
> --------------------------------------------------------
>
> Key: DISPATCH-1913
> URL: https://issues.apache.org/jira/browse/DISPATCH-1913
> Project: Qpid Dispatch
> Issue Type: Test
> Components: Tests
> Reporter: Ganesh Murthy
> Assignee: Ganesh Murthy
> Priority: Major
>
> Lots of tests fail in travis with the following error -
> {noformat}
> AttributeError: 'str' object has no attribute 'path' {noformat}
>
> For example,
> {noformat}
> 34:
> ======================================================================34:
> ERROR: test_01_link_route
> (system_tests_two_routers.TwoRouterExtensionStateTest)
> 34: Verify non-terminal state and data propagates over a link route
> 34: ----------------------------------------------------------------------
> 34: Traceback (most recent call last):
> 34: File
> "/home/travis/build/apache/qpid-dispatch/tests/system_tests_two_routers.py",
> line 2034, in test_01_link_route
> 34: self.RouterA.wait_address("RoutieMcRouteFace", remotes=1, count=2)
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 672, in wait_address
> 34: assert retry(check, **retry_kwargs)
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 141, in retry
> 34: ret = function()
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 662, in check
> 34: addrs = self.management.query(
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 504, in management
> 34: self._management = Node.connect(self.addresses[0], timeout=TIMEOUT)
> 34: File
> "/home/travis/build/apache/qpid-dispatch/python/qpid_dispatch/management/client.py",
> line 128, in connect
> 34: return Node(Node.connection(url, router, timeout, ssl_domain, sasl,
> 34: File
> "/home/travis/build/apache/qpid-dispatch/python/qpid_dispatch/management/client.py",
> line 143, in __init__
> 34: self.client = SyncRequestResponse(connection, self.url.path)
> 34: AttributeError: 'str' object has no attribute 'path'
> 34:
> 34: ======================================================================
> 34: ERROR: test_03_multicast
> (system_tests_two_routers.TwoRouterExtensionStateTest)
> 34: Verify that disposition state set by the publisher is available to all
> 34: ----------------------------------------------------------------------
> 34: Traceback (most recent call last):
> 34: File
> "/home/travis/build/apache/qpid-dispatch/tests/system_tests_two_routers.py",
> line 2061, in test_03_multicast
> 34: self.RouterA.wait_address("multicast/thingy", subscribers=3)
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 672, in wait_address
> 34: assert retry(check, **retry_kwargs)
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 141, in retry
> 34: ret = function()
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 662, in check
> 34: addrs = self.management.query(
> 34: File "/home/travis/build/apache/qpid-dispatch/tests/system_test.py",
> line 504, in management
> 34: self._management = Node.connect(self.addresses[0], timeout=TIMEOUT)
> 34: File
> "/home/travis/build/apache/qpid-dispatch/python/qpid_dispatch/management/client.py",
> line 128, in connect
> 34: return Node(Node.connection(url, router, timeout, ssl_domain, sasl,
> 34: File
> "/home/travis/build/apache/qpid-dispatch/python/qpid_dispatch/management/client.py",
> line 143, in __init__
> 34: self.client = SyncRequestResponse(connection, self.url.path)
> 34: AttributeError: 'str' object has no attribute 'path'{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]