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/branch-dev-patch-upgrade
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);
   }
 }

Reply via email to