Repository: ambari Updated Branches: refs/heads/trunk eaa105cb5 -> 8b0371bb7
AMBARI-13517. TimelineMetricsCache Unit test failure, apache infra. Edits to assertion message. (swagle) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8b0371bb Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8b0371bb Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8b0371bb Branch: refs/heads/trunk Commit: 8b0371bb76869d228c67c77d87ca621caf49453a Parents: eaa105c Author: Siddharth Wagle <swa...@hortonworks.com> Authored: Sun Nov 1 08:59:25 2015 -0800 Committer: Siddharth Wagle <swa...@hortonworks.com> Committed: Sun Nov 1 08:59:25 2015 -0800 ---------------------------------------------------------------------- .../apache/ambari/server/configuration/Configuration.java | 9 +++++++++ .../metrics/timeline/cache/TimelineMetricCacheProvider.java | 8 +++++--- .../timeline/cache/TimelineMetricCacheSizingTest.java | 8 +++++--- 3 files changed, 19 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/8b0371bb/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java index 26e20e8..227f2a9 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java @@ -451,6 +451,7 @@ public class Configuration { private static final String DEFAULT_TIMELINE_METRICS_REQUEST_CATCHUP_INTERVAL = "300000"; private static final String TIMELINE_METRICS_CACHE_HEAP_PERCENT = "server.timeline.metrics.cache.heap.percent"; private static final String DEFAULT_TIMELINE_METRICS_CACHE_HEAP_PERCENT = "15%"; + private static final String TIMELINE_METRICS_CACHE_USE_CUSTOM_SIZING_ENGINE = "server.timeline.metrics.cache.use.custom.sizing.engine"; /** * Governs the use of {@link Parallel} to process {@link StageEntity} @@ -2263,6 +2264,14 @@ public class Configuration { } /** + * Allow disabling custom sizing engine. + */ + public boolean useMetricsCacheCustomSizingEngine() { + return Boolean.parseBoolean(properties + .getProperty(TIMELINE_METRICS_CACHE_USE_CUSTOM_SIZING_ENGINE, "true")); + } + + /** * Gets whether to use experiemental concurrent processing to convert * {@link StageEntity} instances into {@link Stage} instances. The default is * {@code false}. http://git-wip-us.apache.org/repos/asf/ambari/blob/8b0371bb/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheProvider.java index 9f268b2..73bebb9 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheProvider.java @@ -64,9 +64,11 @@ public class TimelineMetricCacheProvider { } System.setProperty("net.sf.ehcache.skipUpdateCheck", "true"); - // Use custom sizing engine to speed cache sizing calculations - System.setProperty("net.sf.ehcache.sizeofengine." + TIMELINE_METRIC_CACHE_MANAGER_NAME, - "org.apache.ambari.server.controller.metrics.timeline.cache.TimelineMetricsCacheSizeOfEngine"); + if (configuration.useMetricsCacheCustomSizingEngine()) { + // Use custom sizing engine to speed cache sizing calculations + System.setProperty("net.sf.ehcache.sizeofengine." + TIMELINE_METRIC_CACHE_MANAGER_NAME, + "org.apache.ambari.server.controller.metrics.timeline.cache.TimelineMetricsCacheSizeOfEngine"); + } net.sf.ehcache.config.Configuration managerConfig = new net.sf.ehcache.config.Configuration(); http://git-wip-us.apache.org/repos/asf/ambari/blob/8b0371bb/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheSizingTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheSizingTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheSizingTest.java index ab3cc59..69dcff3 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheSizingTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricCacheSizingTest.java @@ -96,8 +96,8 @@ public class TimelineMetricCacheSizingTest { TimelineMetricsCacheSizeOfEngine customSizeOfEngine = new TimelineMetricsCacheSizeOfEngine(); long bytesFromReflectionEngine = - reflectionSizeOf.deepSizeOf(1000, false, key).getCalculated() + - reflectionSizeOf.deepSizeOf(1000, false, value).getCalculated(); + reflectionSizeOf.deepSizeOf(50000, false, key).getCalculated() + + reflectionSizeOf.deepSizeOf(50000, false, value).getCalculated(); long bytesFromCustomSizeOfEngine = customSizeOfEngine.sizeOf(key, value, null).getCalculated(); @@ -107,6 +107,8 @@ public class TimelineMetricCacheSizingTest { Assert.assertTrue("Sample size is " + sampleSizeInMB + ", expected to be" + "greater that 10 MB", sampleSizeInMB > 10); Assert.assertTrue("Discrepancy in values is " + discrepancyInKB + ", " + - "expected to be less than 10K", discrepancyInKB < 10); + "expected to be less than 10K. " + "Bytes from reflection = " + + bytesFromReflectionEngine + ", bytes from custom sizing engine = " + + bytesFromCustomSizeOfEngine, discrepancyInKB < 10); } }