inconsistent implementation of 'cumulative distribution function' for 
Exponential Distribution
----------------------------------------------------------------------------------------------

                 Key: CASSANDRA-2597
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2597
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Jonathan Ellis
            Assignee: paul cannon
            Priority: Minor
             Fix For: 0.7.6, 0.8.1


As reported on the mailing list 
(http://mail-archives.apache.org/mod_mbox/cassandra-dev/201104.mbox/%[email protected]%3E),

{quote}
I just found there are two implementations of 'cumulative distribution
function' for Exponential Distribution and there are inconsistent :

*FailureDetector*
org.apache.cassandra.gms.ArrivalWindow.p(double)
   double p(double t)
   {
       double mean = mean();
       double exponent = (-1)*(t)/mean;
       return *Math.pow(Math.E, exponent)*;
   }

*DynamicEndpointSnitch*
org.apache.cassandra.locator.AdaptiveLatencyTracker.p(double)
   double p(double t)
   {
       double mean = mean();
       double exponent = (-1) * (t) / mean;
       return *1 - Math.pow( Math.E, exponent);*
   }

According to the  Exponential Distribution cumulative distribution function
definition<http://en.wikipedia.org/wiki/Exponential_distribution#Cumulative_distribution_function>,
the later one is correct
{quote}

... however FailureDetector has been working as advertised for some time now.  
Does this mean the Snitch version is actually wrong?

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to