You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/10/06 20:38:20 UTC

[jira] [Work logged] (TS-4701) Add a new latched parent selection strategy.

     [ https://issues.apache.org/jira/browse/TS-4701?focusedWorklogId=30238&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-30238 ]

ASF GitHub Bot logged work on TS-4701:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 06/Oct/16 20:37
            Start Date: 06/Oct/16 20:37
    Worklog Time Spent: 10m 
      Work Description: GitHub user jrushford opened a pull request:

    https://github.com/apache/trafficserver/pull/1084

    TS-4701: Add a new latched parent selection strategy.

    Add a new "latched" round  robin parent selection strategy.  A primary parent is chosen from the first parent in the parent list and is always returned as the resulting call to findParent().  When connection failure occurs and the primary parent is marked down, the state changes the primary to the next parent in the list and remains latched until the state is changed when a error causes the primary parent to be marked down.  
    
    This strategy is helpful for delivery of live video.  A failure and switch to a new parent origin will cause a video client to retune as the manifest and video fragment names between origins are different.  With the other strategies, once the retry time for a marked down parent has elapsed, another switch and retune may occur.  To keep retunes to a minimum, this strategy "latches" state to always use the same healthy parent.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jrushford/trafficserver TS-4701

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/1084.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 #1084
    
----
commit ebcf828ae6300db7d770abc35fef16a8b9c82e89
Author: John J. Rushford <jr...@apache.org>
Date:   2016-10-06T20:22:59Z

    TS-4701: Add a new latched parent selection strategy.

----


Issue Time Tracking
-------------------

            Worklog Id:     (was: 30238)
            Time Spent: 10m
    Remaining Estimate: 0h

> Add a new latched parent selection strategy.
> --------------------------------------------
>
>                 Key: TS-4701
>                 URL: https://issues.apache.org/jira/browse/TS-4701
>             Project: Traffic Server
>          Issue Type: New Feature
>          Components: Parent Proxy
>            Reporter: John Rushford
>            Assignee: John Rushford
>             Fix For: sometime
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> For live linear video we are utilizing parent selection to round robin to origin servers in the event of a origin server failure, parent_is_proxy=false and  round_robin=false.  With this round robin strategy, the first parent in the parent.config list is always selected.  In the event of a connection failure, a new parent is selected from the list.  This works fine except that switching to a new parent is expensive, in that the client has to retune because the abr manifests between origins are different.  A single retune can be tolerated but, after the parent retry time has elapsed, the round robin strategy will revert back to the original parent when it becomes available.  This causes a second retune.  In order to minimize client retuning, I'd like to add a new round robin strategy that is similar to round_robin=false but the new strategy would stay "latched" to the selected parent and remain "latched" until such time that a connection failure warrants using a new parent.  I propose calling this strategy "latched" as in an electronic latch that becomes fixed in a particular state when triggered.  This strategy would be a minor modification to ParentRoundRobin and ParentSelection.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)