[ 
https://issues.apache.org/jira/browse/CASSANDRA-981?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12872380#action_12872380
 ] 

Brandon Williams commented on CASSANDRA-981:
--------------------------------------------

It looks like the phi algorithm can work for this.  It's simple to replace 
timestamps with latency values, and then use an arbitrary value when 
calculating the phi score for a host.  The main problem is calculating phi is 
less than free, and doing so for each request to determine the least latent 
endpoint will be too expensive.  We can get around that by doing it up front 
when we add a sample and keeping a cache of the scores, but that means we'll 
have to add samples fairly infrequently, or at least batch the updates so the 
mean only has to be calculated once per batch.

> Dynamic endpoint snitch
> -----------------------
>
>                 Key: CASSANDRA-981
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-981
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>             Fix For: 0.7
>
>
> An endpoint snitch that automatically and dynamically infers "distance" to 
> other machines without having to explicitly configure rack and datacenter 
> positions solves two problems:
> The killer feature here is adapting to things like compaction or a 
> failing-but-not-yet-dead disk.  This is important, since when we are doing 
> reads we pick the "closest" replica for actually reading data from (and only 
> read md5s from other replicas).  This means that if the closest replica by 
> network topology is temporarily slow due to compaction (for instance), we'll 
> have to block for its reply even if we get the other replies much much faster.
> Not having to manually re-sync your configuration with your network topology 
> when changes (adding machines) are made is a nice bonus.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to