[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
Github user asfgit closed the pull request at: https://github.com/apache/qpid-dispatch/pull/339 --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
Github user jenmalloy commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/339#discussion_r202823498 --- Diff: docs/books/user-guide/routing.adoc --- @@ -551,6 +556,13 @@ Link routes establish a link between a sender and a receiver that travels throug With link routing, client traffic is handled on the broker, not the router. Clients have a direct link through the router to a broker's queue. Therefore, each client is a separate producer or consumer. +[NOTE] + +If the connection to the broker fails, the routed links are detached, and the router will attempt to reconnect to the broker (or its backup). Once the connection is reestablished, the link route to the broker will become reachable again. + +From the client's perspective, the client will see the detached links (that is, the senders or receivers), but not the failed connection. Therefore, if you want the client to reattach dropped links in the event of a broker connection failure, you must configure this functionality on the client. Alternatively, you can use message routing with autolinks instead of link routing. For more information, see xref:routing-messages-through-broker[Routing Messages through a Broker Queue] --- End diff -- Missing final period --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/339#discussion_r202062749 --- Diff: docs/books/user-guide/routing.adoc --- @@ -102,6 +102,17 @@ Link routing supports local transactions to a broker. + With a link route, consumers can provide server-side selectors for broker subscriptions. +[id='considerations-for-broker-connection-failure-handling'] +=== Considerations for Broker Connection Failure Handling + +The message routing and link routing mechanisms both enable you to transfer messages to brokers. However, they differ in how they behave if the connection to the broker is lost. If you require the ability for the connection to be reestablished automatically, you should use message routing (with autolinks). --- End diff -- This is a bit misleading because it suggests that with link-routing, the connection to a broker is not automatically reestablished. In all cases, a connector will attempt to reconnect after failure. This is true regardless of whether that connection is used with auto-links or link-routes. --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/339#discussion_r202066244 --- Diff: docs/books/user-guide/routing.adoc --- @@ -102,6 +102,17 @@ Link routing supports local transactions to a broker. + With a link route, consumers can provide server-side selectors for broker subscriptions. +[id='considerations-for-broker-connection-failure-handling'] +=== Considerations for Broker Connection Failure Handling + +The message routing and link routing mechanisms both enable you to transfer messages to brokers. However, they differ in how they behave if the connection to the broker is lost. If you require the ability for the connection to be reestablished automatically, you should use message routing (with autolinks). + +With link routing:: +The client appears to be directly connected to the broker even though it is actually connected to a router, which is link routed to the broker. If the broker goes offline, the router sees the connection failure and closes all of the routed links that were attached to the broker. The client's connection to the router, however, remains open. Therefore, the client does not see the connection failure between the broker and the router and does not attempt to reestablish it. + +With message routing using autolinks:: +The client is connected to a router, and the router is connected to the broker. Therefore, if the broker goes offline, the router will see the connection failure and attempt to reestablish the connection when the broker comes back online. --- End diff -- In the case of message routing, the router network will automatically reroute deliveries to alternate destinations if they are available. There will likely be some deliveries that are returned to the sender with RELEASED disposition meaning that they were not delivered anywhere. Deliveries may also come back with MODIFIED/undeliverable disposition indicating that they _may_ have been delivered, but were not settled. If there is only one broker in a message-routing/autolink deployment and that broker goes offline, senders to the broker will see their deliveries RELEASED and eventually will experience backpressure (no new credit) until the broker comes back online. --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/339#discussion_r202067374 --- Diff: docs/books/user-guide/routing.adoc --- @@ -551,6 +562,11 @@ Link routes establish a link between a sender and a receiver that travels throug With link routing, client traffic is handled on the broker, not the router. Clients have a direct link through the router to a broker's queue. Therefore, each client is a separate producer or consumer. +[NOTE] + +Even though the client has a direct link to the broker, it will not be able to see a connection failure if the broker goes offline and will not attempt to reestablish the connection when the broker comes back online. If you want the connection to be reestablished automatically in this type of scenario, then you should use message routing with autolinks instead of link routing. For more information, see xref:routing-messages-through-broker[Routing Messages through a Broker Queue] and xref:considerations-for-broker-connection-failure-handling[Considerations for Broker Connection Failure Handling]. --- End diff -- This is not correct. Connection reestablishment is _always_ attempted. With link-routing, the client needs to handle dropped links rather than (in addition to) dropped connections. With message-routing, the client needs to handle RELEASED/MODIFIED deliveries (usually by re-sending them). --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/339#discussion_r202064815 --- Diff: docs/books/user-guide/routing.adoc --- @@ -102,6 +102,17 @@ Link routing supports local transactions to a broker. + With a link route, consumers can provide server-side selectors for broker subscriptions. +[id='considerations-for-broker-connection-failure-handling'] +=== Considerations for Broker Connection Failure Handling + +The message routing and link routing mechanisms both enable you to transfer messages to brokers. However, they differ in how they behave if the connection to the broker is lost. If you require the ability for the connection to be reestablished automatically, you should use message routing (with autolinks). + +With link routing:: +The client appears to be directly connected to the broker even though it is actually connected to a router, which is link routed to the broker. If the broker goes offline, the router sees the connection failure and closes all of the routed links that were attached to the broker. The client's connection to the router, however, remains open. Therefore, the client does not see the connection failure between the broker and the router and does not attempt to reestablish it. --- End diff -- I think this needs to be more explicit about what is routed and what is not. When a broker with link-routes goes offline, the routed links are detached. The router will continue to attempt to reconnect to the broker (or its backup) at which point, the link-routes will be reactivated (i.e. they will become reachable again). The client does not see a dropped connection, but it does see the detached links (senders and/or receivers). The client has the option of attempting to re-attach lost links. The reattach will either go to a different broker, fail due to no available destination, or be reattached to the original broker when it comes back online. --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[GitHub] qpid-dispatch pull request #339: DISPATCH-1064 - Doc link route reconnect be...
GitHub user bhardesty opened a pull request: https://github.com/apache/qpid-dispatch/pull/339 DISPATCH-1064 - Doc link route reconnect behavior In the Dispatch Router user guide, I added some information about how the router handles broker connection failures for both link routing and message routing (using autolinks) scenarios. @ted-ross can you please review for technical accuracy? You can merge this pull request into a Git repository by running: $ git pull https://github.com/bhardesty/qpid-dispatch dispatch-1064-doc-link-route-reconnect Alternatively you can review and apply these changes as the patch at: https://github.com/apache/qpid-dispatch/pull/339.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #339 commit 4a8e3535e0029567471128e7b5807fada521e034 Author: Ben Hardesty Date: 2018-07-09T20:44:49Z Doc link route and autolink connection failure behavior --- - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org