[
https://issues.apache.org/jira/browse/DISPATCH-170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14901577#comment-14901577
]
Jack Gibson commented on DISPATCH-170:
--------------------------------------
Clarifying the issue...
Using On-Demand Connectors and Waypoints when a remote AMQP node is restarted
the links associated with that node are not recreated when the connection is
re-estabilished.
Healthy link setup via qdmanage:
qdmanage -b 172.17.0.2 query --type router.link
[
{
"linkType": "waypoint",
"name": "router.link/0",
"linkDir": "out",
"msgFifoDepth": 0,
"owningAddr": "M0foo",
"remoteContainer": "937ac03d-b9e7-40ea-b8b8-f70956d9fac3",
"linkName": "foo",
"eventFifoDepth": 0,
"type": "org.apache.qpid.dispatch.router.link",
"identity": "router.link/0"
},
{
"linkType": "waypoint",
"name": "router.link/1",
"linkDir": "in",
"msgFifoDepth": 0,
"owningAddr": "M1foo",
"remoteContainer": "937ac03d-b9e7-40ea-b8b8-f70956d9fac3",
"linkName": "foo",
"eventFifoDepth": 0,
"type": "org.apache.qpid.dispatch.router.link",
"identity": "router.link/1"
},
Unhealthy link setup post broker restart:
root@9f194924f76b:/tmp/qpid-dispatch/build# qdmanage -b 172.17.0.2 query --type
router.link
[
{
"linkType": "endpoint",
"name": "router.link/4",
"linkDir": "in",
"msgFifoDepth": 0,
"remoteContainer": "298302b8-adb9-4840-9096-7e370ac5bfd0",
"linkName": "298302b8-adb9-4840-9096-7e370ac5bfd0-$management",
"eventFifoDepth": 0,
"type": "org.apache.qpid.dispatch.router.link",
"identity": "router.link/4"
},
{
"linkType": "endpoint",
"name": "router.link/5",
"linkDir": "out",
"msgFifoDepth": 0,
"owningAddr": "Ltemp.XzrCuBtXON",
"remoteContainer": "298302b8-adb9-4840-9096-7e370ac5bfd0",
"linkName":
"298302b8-adb9-4840-9096-7e370ac5bfd0-99a72180-1d33-408e-be42-8b0a9f2a7d0e",
"eventFifoDepth": 0,
"type": "org.apache.qpid.dispatch.router.link",
"identity": "router.link/5"
}
]
As you can see, the links for the waypoints are not established so no messages
will be delivered to the connected nodes. The waypoints and connections are
healthy as expected but the links need to be refreshed on a reconnect.
> qdrouterd should not require a restart after the destination broker restarts
> ----------------------------------------------------------------------------
>
> Key: DISPATCH-170
> URL: https://issues.apache.org/jira/browse/DISPATCH-170
> Project: Qpid Dispatch
> Issue Type: Improvement
> Components: Routing Engine
> Affects Versions: 0.4
> Environment: Fedora and CentOS
> Reporter: linuxta
>
> config router to connect to two brokers. 1) If I restart broker 1, qdrouterd
> will forward messages to broker 2 but not broker 1. 2) If I also restart
> broker 2, qdrouterd will not forward messages to broker 2 either. I have to
> restart qdrouterd for that to distribute messages between the two brokers
> after broker restart. The fix is not to require a restart of the router.
> config used:
> listener {
> addr: 0.0.0.0
> port: amqp
> sasl-mechanisms: ANONYMOUS
> }
> connector {
> name: broker1
> role: on-demand
> addr: ...
> port: ...
> sasl-mechanisms: ANONYMOUS
> }
> connector {
> name: broker2
> role: on-demand
> addr: ...
> port: ...
> sasl-mechanisms: ANONYMOUS
> }
> router {
> mode:standalone
> router-id: LB_R1
> }
> waypoint {
> address: user.bar
> out-phase: 1
> in-phase: 0
> connector: broker1
> }
> waypoint {
> address: user.bar
> out-phase: 1
> in-phase: 0
> connector: broker2
> }
> fixed-address {
> prefix: /user
> phase: 0
> fanout: single
> bias: spread
> }
> fixed-address {
> prefix: /user
> phase: 1
> fanout: single
> bias: closest
> }
> log {
> module: ROUTER
> enable: trace+
> }
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]