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