Federation link index becomes invalid on failover against a cluster.
--------------------------------------------------------------------
Key: QPID-3767
URL: https://issues.apache.org/jira/browse/QPID-3767
Project: Qpid
Issue Type: Bug
Components: C++ Broker
Affects Versions: 0.14
Reporter: Ken Giusti
Assignee: Ken Giusti
Fix For: 0.15
The Link management object that represents a connection between two federated
brokers is indexed (identified) by the remote broker's host and port. If the
remote broker is part of a cluster, and a failover event occurs, the host:port
used by the Link object's index may no longer exist. This prevents the route
from being deleted.
For example, create a cluster of two brokers using addresses 127.0.0.1:2222 and
127.0.0.1:3333. Start a third broker, say 127.0.0.1:8888. Create a queue
route from 127.0.0.1:2222 to an exchange on 127.0.0.1:8888. Kill the broker
127.0.0.1:2222. This results in a Link object that is connected to
127.0.0.1:3333, but reports 127.0.0.1:2222 as it's host.
[kgiusti@localhost src]$ qpid-config -a 127.0.0.1:2222 add queue src
[kgiusti@localhost src]$ qpid-config -a 127.0.0.1:8888 add exchange fanout destx
[kgiusti@localhost src]$ qpid-config -a 127.0.0.1:8888 add queue dest
[kgiusti@localhost src]$ qpid-config -a 127.0.0.1:8888 bind destx dest
[kgiusti@localhost src]$ qpid-route queue add 127.0.0.1:8888 127.0.0.1:2222
destx src
[kgiusti@localhost src]$ ../examples/messaging/spout -b 127.0.0.1:2222
--content "ZZZ" src
[kgiusti@localhost src]$ ../examples/messaging/drain -b 127.0.0.1:8888 -t 2 dest
Message(properties={spout-id:8c308c74-6b25-4408-8694-93ef8352a308:0,
x-amqp-0-10.routing-key:src}, content='ZZZ')
<Kill Broker 127.0.0.1:2222, link fails over to 127.0.0.1:3333>
From qpid-tool:
qpid: show 133
Object of type:
org.apache.qpid.broker:link:_data(bc33c1b3-25cd-e0ce-04d7-ad684ed36d91)
Attribute 133
=================================================
vhostRef 150
host 127.0.0.1
port 2222
transport tcp
durable False
state Operational
lastError Failed over to tcp:10.16.185.15:3333
Once this occurs, I am unable to delete the link:
[kgiusti@localhost src]$ qpid-route queue del 127.0.0.1:8888 127.0.0.1:2222
destx src
[kgiusti@localhost src]$ qpid-tool 127.0.0.1:8888
qpid: list
Summary of Objects by Type:
Package Class Active Deleted
=======================================================
org.apache.qpid.broker binding 14 0
org.apache.qpid.broker system 1 0
org.apache.qpid.broker broker 1 0
org.apache.qpid.broker bridge 1 0
org.apache.qpid.broker link 1 0
org.apache.qpid.broker subscription 5 0
org.apache.qpid.broker connection 2 0
org.apache.qpid.broker session 2 0
org.apache.qpid.broker queue 6 0
org.apache.qpid.broker exchange 9 0
org.apache.qpid.broker vhost 1 0
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]