Pavel Moravec created DISPATCH-749: -------------------------------------- Summary: unmapping all link-routing addresses leaves half of addresses mapped Key: DISPATCH-749 URL: https://issues.apache.org/jira/browse/DISPATCH-749 Project: Qpid Dispatch Issue Type: Bug Components: Router Node Reporter: Pavel Moravec
Setup: qpidd < - > qdrouterd(S) < - > qdrouterd(C) < - clients where clients are link-routing via the qdrouterd network to qpidd. Under specific situations (see https://bugzilla.redhat.com/show_bug.cgi?id=1426242 for details), when qdrouterd(S) is not available for some time, qdrouterd(C) returns "qd:no-route-to-dest" to its clients - so far so good. But the error persists even after qdrouterd(S) is up, connected from qdrouterd(C), all links established and addresses mapped. The cause is, https://github.com/apache/qpid-dispatch/blob/master/python/qpid_dispatch_internal/router/node.py#L536-L537 does _not_ unmap all addresses: {code} $ python Python 2.7.5 (default, Aug 2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> mobile_addresses = ['a.', 'b.', 'c.', 'd.'] >>> for addr in mobile_addresses: ... mobile_addresses.remove(addr) ... >>> print mobile_addresses ['b.', 'd.'] >>> {code} We can't iterate a list that way while removing items from it. Trivial fix allows so: {code} for addr in mobile_addresses[:]: {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org