You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by ganeshmurthy <gi...@git.apache.org> on 2018/08/24 17:06:27 UTC
[GitHub] qpid-dispatch pull request #366: DISPATCH-1103 - Added code to retry failed ...
GitHub user ganeshmurthy opened a pull request:
https://github.com/apache/qpid-dispatch/pull/366
DISPATCH-1103 - Added code to retry failed auto links using the core …
…timeer API
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ganeshmurthy/qpid-dispatch DISPATCH-1103-1
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/qpid-dispatch/pull/366.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 #366
----
commit f8064a0d0b5a5e9d0db0d176dc6dcf6d1b726b11
Author: Ganesh Murthy <gm...@...>
Date: 2018-08-14T15:21:30Z
DISPATCH-1103 - Added code to retry failed auto links using the core timeer API
commit 64fe506f3b7ad14d446212cf6f05de84171a64b4
Author: Ganesh Murthy <gm...@...>
Date: 2018-08-24T17:04:33Z
DISPATCH-1103 - Added doc for functions
----
---
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[GitHub] qpid-dispatch pull request #366: DISPATCH-1103 - Added code to retry failed ...
Posted by ted-ross <gi...@git.apache.org>.
Github user ted-ross commented on a diff in the pull request:
https://github.com/apache/qpid-dispatch/pull/366#discussion_r212714631
--- Diff: src/router_core/route_control.h ---
@@ -43,6 +43,13 @@ qdr_auto_link_t *qdr_route_add_auto_link_CT(qdr_core_t *core,
qd_parsed_field_t *connection_field,
qd_parsed_field_t *external_addr);
+/**
+ * Attempts re-establishing auto links across the related connections/containers
+ * @param core Pointer to the core object returned by qd_core()
+ * @param context - the auto link that needs to be activated
+ */
+void qdr_route_attempt_auto_link_CT(qdr_core_t *core, void *context);
--- End diff --
This is not part of the route_control API. It is simply an internal helper within the module. It should be removed from the header file (API) and made static in the source file.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[GitHub] qpid-dispatch pull request #366: DISPATCH-1103 - Added code to retry failed ...
Posted by ted-ross <gi...@git.apache.org>.
Github user ted-ross commented on a diff in the pull request:
https://github.com/apache/qpid-dispatch/pull/366#discussion_r212715250
--- Diff: src/router_core/connections.c ---
@@ -1329,6 +1329,9 @@ static void qdr_connection_closed_CT(qdr_core_t *core, qdr_action_t *action, boo
while (link_ref) {
qdr_link_t *link = link_ref->link;
+ if (link->auto_link && link->auto_link->retry_timer)
+ qdr_core_timer_cancel_CT(core, link->auto_link->retry_timer);
--- End diff --
The fact that there is a retry-timer in the auto-link is an implementation detail that should not be visible at this level. It would be better to have a call in the route_control module for "auto_link_connection_closed" or similar.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[GitHub] qpid-dispatch pull request #366: DISPATCH-1103 - Added code to retry failed ...
Posted by ted-ross <gi...@git.apache.org>.
Github user ted-ross commented on a diff in the pull request:
https://github.com/apache/qpid-dispatch/pull/366#discussion_r212715743
--- Diff: src/router_core/connections.c ---
@@ -1753,6 +1756,12 @@ static void qdr_link_inbound_detach_CT(qdr_core_t *core, qdr_action_t *action, b
link->auto_link->state = QDR_AUTO_LINK_STATE_FAILED;
free(link->auto_link->last_error);
link->auto_link->last_error = qdr_error_description(error);
+
+ //
+ // The auto link has failed. Periodically retry setting up the auto link until
+ // it succeeds.
+ //
+ qdr_route_retry_auto_link_CT(core, link);
--- End diff --
Same comment here: At this location in the architecture, the fact that there is a retry is abstracted. This call should be "auto_link_detached" or similar. Let the route_control module be responsible for what actions it takes when an auto-link is detached by the peer.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org
[GitHub] qpid-dispatch pull request #366: DISPATCH-1103 - Added code to retry failed ...
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/qpid-dispatch/pull/366
---
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org