In some circumstances (high GC, high CPU usage, creating lots of
S3AFileSystem) it is possible for MutableQuantiles::scheduler  to fall
behind processing tasks that are submitted to it; because tasks are
submitted on a regular schedule, the unbounded queue backing the
ExecutorService might grow to several gigs . By using
scheduleWithFixedDelay instead, we ensure that under pressure this leak won't
happen. In order to mitigate the growth, a simple fix  is proposed, simply replacing scheduler.scheduleAtFixedRate by scheduler.scheduleWithFixedDelay.
 it is single threaded and shared across all instances of MutableQuantiles: https://github.com/apache/hadoop/blob/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/metrics2/lib/MutableQuantiles.java#L66-L68
 see attached mutable-quantiles-leak.png.