HADOOP-16278. With S3A Filesystem, Long Running services End up Doing lot of GC and eventually die.
Contributed by Rajat Khandelwal
This commit is contained in:
parent
2d31ccc1b3
commit
591ca69823
@ -120,7 +120,8 @@ public class S3AInstrumentation implements Closeable, MetricsSource {
|
||||
private final MutableCounterLong streamBytesReadInClose;
|
||||
private final MutableCounterLong streamBytesDiscardedInAbort;
|
||||
private final MutableCounterLong ignoredErrors;
|
||||
|
||||
private final MutableQuantiles putLatencyQuantile;
|
||||
private final MutableQuantiles throttleRateQuantile;
|
||||
private final MutableCounterLong numberOfFilesCreated;
|
||||
private final MutableCounterLong numberOfFilesCopied;
|
||||
private final MutableCounterLong bytesOfFilesCopied;
|
||||
@ -239,9 +240,9 @@ public S3AInstrumentation(URI name) {
|
||||
}
|
||||
//todo need a config for the quantiles interval?
|
||||
int interval = 1;
|
||||
quantiles(S3GUARD_METADATASTORE_PUT_PATH_LATENCY,
|
||||
putLatencyQuantile = quantiles(S3GUARD_METADATASTORE_PUT_PATH_LATENCY,
|
||||
"ops", "latency", interval);
|
||||
quantiles(S3GUARD_METADATASTORE_THROTTLE_RATE,
|
||||
throttleRateQuantile = quantiles(S3GUARD_METADATASTORE_THROTTLE_RATE,
|
||||
"events", "frequency (Hz)", interval);
|
||||
|
||||
registerAsMetricsSource(name);
|
||||
@ -606,6 +607,8 @@ public void getMetrics(MetricsCollector collector, boolean all) {
|
||||
|
||||
public void close() {
|
||||
synchronized (metricsSystemLock) {
|
||||
putLatencyQuantile.stop();
|
||||
throttleRateQuantile.stop();
|
||||
metricsSystem.unregisterSource(metricsSourceName);
|
||||
int activeSources = --metricsSourceActiveCounter;
|
||||
if (activeSources == 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user