[ 
https://issues.apache.org/jira/browse/HADOOP-8541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13412047#comment-13412047
 ] 

Andrew Wang commented on HADOOP-8541:
-------------------------------------

bq. Makes sense, but you might want to add a comment to that effect above the 
instance vars explaining the reasoning.

Fixed.

bq. We can leave it as you have it if you think the current version is clear 
enough.

The implementation matches the pseudocode and descriptions in the original CKMS 
paper, so I'd like to leave the functions separate.

bq. You should use GenericTestUtils#assertExceptionContains to ensure that the 
IOE you actually expect gets thrown, instead of some other unrelated IOE

Fixed.

bq. I think you should add a comment explaining the need for this sleep in the 
tests and why it's calculated the way it is. You should also perhaps use 
System#currentTimeMillis since I don't think you need nano precision

Comment added. I also bumped the slop from 100ms to 1000ms to hopefully avoid 
any timing flakiness. I used {{nanoTime()}} over {{currentTimeMillis()}} since 
it's a monotonic clock; we wouldn't want our test failing due to leap seconds!
                
> Better high-percentile latency metrics
> --------------------------------------
>
>                 Key: HADOOP-8541
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8541
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: metrics
>    Affects Versions: 2.0.0-alpha
>            Reporter: Andrew Wang
>            Assignee: Andrew Wang
>         Attachments: hadoop-8541-1.patch, hadoop-8541-2.patch, 
> hadoop-8541-3.patch, hadoop-8541-4.patch, hadoop-8541-5.patch, 
> hadoop-8541-6.patch
>
>
> Based on discussion in HBASE-6261 and with some HDFS devs, I'd like to make 
> better high-percentile latency metrics a part of hadoop-common.
> I've already got a working implementation of [1], an efficient algorithm for 
> estimating quantiles on a stream of values. It allows you to specify 
> arbitrary quantiles to track (e.g. 50th, 75th, 90th, 95th, 99th), along with 
> tight error bounds. This estimator can be snapshotted and reset periodically 
> to get a feel for how these percentiles are changing over time.
> I propose creating a new MutableQuantiles class that does this. [1] isn't 
> completely without overhead (~1MB memory for reasonably sized windows), which 
> is why I hesitate to add it to the existing MutableStat class.
> [1] Cormode, Korn, Muthukrishnan, and Srivastava. "Effective Computation of 
> Biased Quantiles over Data Streams" in ICDE 2005.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to