[ https://issues.apache.org/jira/browse/CASSANDRA-2597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan King updated CASSANDRA-2597: --------------------------------- Component/s: (was: Core) Contrib Description: As reported on the mailing list (http://mail-archives.apache.org/mod_mbox/cassandra-dev/201104.mbox/%3CAANLkTimdMSLE8-z0x+0kvzqp7za3AEMLaOFXvd4Z=t...@mail.gmail.com%3E), {quote} I just found there are two implementations of 'cumulative distribution function' for Exponential Distribution and there are inconsistent : *FailureDetector* {code:java} 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)*; } {code} *DynamicEndpointSnitch* {code:java} 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);* } {code} 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? was: As reported on the mailing list (http://mail-archives.apache.org/mod_mbox/cassandra-dev/201104.mbox/%3CAANLkTimdMSLE8-z0x+0kvzqp7za3AEMLaOFXvd4Z=t...@mail.gmail.com%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? Fix Version/s: (was: 0.7.7) 0.7.6 > 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: Contrib > Reporter: Jonathan Ellis > Assignee: paul cannon > Priority: Minor > Fix For: 0.7.6 > > > As reported on the mailing list > (http://mail-archives.apache.org/mod_mbox/cassandra-dev/201104.mbox/%3CAANLkTimdMSLE8-z0x+0kvzqp7za3AEMLaOFXvd4Z=t...@mail.gmail.com%3E), > {quote} > I just found there are two implementations of 'cumulative distribution > function' for Exponential Distribution and there are inconsistent : > *FailureDetector* > {code:java} > 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)*; > } > {code} > *DynamicEndpointSnitch* > {code:java} > 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);* > } > {code} > 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