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/08/06 18:20:20 UTC

[jira] [Work logged] (TS-4723) ATS CARP Plugin

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

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

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

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

    [TS-4723] ATS CARP Plugin

    JIRA: https://issues.apache.org/jira/browse/TS-4723
    
    This is the code for our ATS CARP plugin along with some tests.
    
    Two caveats with this code:
    
    1. The makefile is all wrong. I'll definitely fix this before we get it merged. It's just something you can checkout if you want to build on your own machine. I'm not super familiar with automake, so I didn't add this to the Makefile.am in the parent directory or write my own Makefile.am and Makefile.in for this. If someone could send me a doc or help me do that, I'd love to learn.
    
    2. There are some simple unit tests included here along with an api stub for running them. I've noticed the other experimental plugins don't have tests with them. If you'd like me to drop them, I can. Figured I'd include for now.

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

    $ git pull https://github.com/ericcarlschwartz/trafficserver TS-4723

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

    https://github.com/apache/trafficserver/pull/843.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 #843
    
----
commit caed7922f3aa19c362178aee8e8e995dc62f51e1
Author: Eric Schwartz <es...@goesfoes.corp.gq1.yahoo.com>
Date:   2016-08-06T18:10:41Z

    [TS-4723] ATS CARP Plugin

----


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

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

> ATS CARP Plugin
> ---------------
>
>                 Key: TS-4723
>                 URL: https://issues.apache.org/jira/browse/TS-4723
>             Project: Traffic Server
>          Issue Type: New Feature
>          Components: Plugins
>            Reporter: Eric Schwartz
>            Assignee: Eric Schwartz
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Open sourcing this plugin we use internally within Yahoo in place of hierarchical caching.
> CARP is a plugin that allows you to group a bunch of ATS hosts into a cluster and share cache space across the entire group. This is done with consistent hashing on the object URL to generate an "owner" node in the cluster. Requests to any other node in the cluster will be forwarded on to the corresponding owner. More info in the README.
> Difference from internal version of note:
> I've ripped out some code we weren't entirely sure we could open source because of a hash function. If it turns out that we can open source this, I'll do so. The CarpHashAlgorithm class is meant to be extensible, so any consistent hash function can replace it. The function included here is pretty straightforward but not what we use in production, so just wanted to use that caveat.
> One last caveat:
> You'll see some code and documentation in here for object replication. This is something I added recently to CARP that allows you to specify an object be replicated a certain number of times in the cluster. This is useful if you have a network partition or if you're performing some sort of update. When an object's primary owner is unreachable, a node in the cluster can go to the secondary owner if it's available rather than having to fall all the way back to origin. While I've done some initial testing on this with my own cluster of hosts, it's not been tested in production so use at your own risk for now. I'll be sure to keep the open source community informed on the progress of our tests with this feature.



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