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