Bug 790562 - python client could not parse IPv6 literal while failover
Summary: python client could not parse IPv6 literal while failover
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: python-qpid
Version: 2.1
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: ---
Assignee: Andrew Stitcher
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks: 802466
TreeView+ depends on / blocked
 
Reported: 2012-02-14 20:39 UTC by Zdenek Kraus
Modified: 2020-11-04 22:32 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Zdenek Kraus 2012-02-14 20:39:09 UTC
Description of problem:
Python library URL() cannot parse ipv6 literals. That is crucial when failing over, because client is unable to parse IPv6 literal from Cluter-url option supplied by broker.

Version-Release number of selected component (if applicable):
python-qpid-0.14-1.el6.noarch
python-qpid-qmf-0.14-3.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. start up cluster with --cluster-url with IPv6 able broker (ex. amqp:tcp:[IPv6])
2. run python failover-able client
3. shut down broker to which that client is connected
4. observe that client cannot failover because ValueError

  
Actual results:
Traceback (most recent call last):
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib64/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.6/site-packages/qpid/messaging/util.py", line 38, in main
    msg = rcv.fetch()
  File "<string>", line 6, in fetch
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 1004, in fetch
    msg = self.session._get(self, timeout=timeout)
  File "<string>", line 6, in _get
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 637, in _get
    timeout):
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 554, in _ewait
    result = self.connection._ewait(lambda: self.error or predicate(), timeout)
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 197, in _ewait
    self.check_error()
  File "/usr/lib/python2.6/site-packages/qpid/messaging/endpoints.py", line 190, in check_error
    raise self.error
InternalError: Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/qpid/messaging/driver.py", line 505, in dispatch
    self.connect()
  File "/usr/lib/python2.6/site-packages/qpid/messaging/driver.py", line 521, in connect
    host, port = self._next_host()
  File "/usr/lib/python2.6/site-packages/qpid/messaging/driver.py", line 361, in _next_host
    urls = [URL(u) for u in self.connection.reconnect_urls]
  File "/usr/lib/python2.6/site-packages/qpid/util.py", line 134, in __init__
    raise ValueError(s)
ValueError: [##OMITTED##


Expected results:
client do failover.

Additional info:


Note You need to log in before you can comment on or make changes to this bug.