HADOOP-11104. org.apache.hadoop.metrics2.lib.MetricsRegistry needs numerical parameter checking. Contributed by Ray Chiang.
(cherry picked from commit e1bf8b3df6
)
This commit is contained in:
parent
22ff37f5ce
commit
2c6c9e315c
|
@ -291,6 +291,9 @@ Release 2.8.0 - UNRELEASED
|
|||
HADOOP-12350. WASB Logging: Improve WASB Logging around deletes, reads and
|
||||
writes (Dushyanth via cnauroth)
|
||||
|
||||
HADOOP-11104. org.apache.hadoop.metrics2.lib.MetricsRegistry needs numerical
|
||||
parameter checking. (Ray Chiang via aajisaka)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||
|
|
|
@ -188,16 +188,21 @@ public class MetricsRegistry {
|
|||
* @param valueName of the metric (e.g., "Time" or "Latency")
|
||||
* @param interval rollover interval of estimator in seconds
|
||||
* @return a new quantile estimator object
|
||||
* @throws MetricsException if interval is not a positive integer
|
||||
*/
|
||||
public synchronized MutableQuantiles newQuantiles(String name, String desc,
|
||||
String sampleName, String valueName, int interval) {
|
||||
checkMetricName(name);
|
||||
MutableQuantiles ret =
|
||||
if (interval <= 0) {
|
||||
throw new MetricsException("Interval should be positive. Value passed" +
|
||||
" is: " + interval);
|
||||
}
|
||||
MutableQuantiles ret =
|
||||
new MutableQuantiles(name, desc, sampleName, valueName, interval);
|
||||
metricsMap.put(name, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a mutable metric with stats
|
||||
* @param name of the metric
|
||||
|
|
|
@ -122,6 +122,22 @@ public class TestMetricsRegistry {
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Test adding illegal parameters
|
||||
*/
|
||||
@Test
|
||||
public void testAddIllegalParameters() {
|
||||
final MetricsRegistry r = new MetricsRegistry("IllegalParamTest");
|
||||
|
||||
expectMetricsException("Interval should be positive. Value passed is: -20",
|
||||
new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
r.newQuantiles("q1", "New Quantile 1", "qq1", "qv1", (int)-20);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Ignore
|
||||
private void expectMetricsException(String prefix, Runnable fun) {
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue