You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by nc...@apache.org on 2015/11/04 14:36:32 UTC

[05/50] [abbrv] ambari git commit: AMBARI-13517. TimelineMetricsCache Unit test failure, apache infra. Use actual sizeOf on map entry. (swagle)

AMBARI-13517. TimelineMetricsCache Unit test failure, apache infra. Use actual sizeOf on map entry. (swagle)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ca4d5b1d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ca4d5b1d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ca4d5b1d

Branch: refs/heads/branch-dev-patch-upgrade
Commit: ca4d5b1d68a8883def5a6ab02a25eeaf5beb4365
Parents: 8b0371b
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Sun Nov 1 21:27:02 2015 -0800
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Sun Nov 1 21:27:02 2015 -0800

----------------------------------------------------------------------
 .../timeline/cache/TimelineMetricsCacheSizeOfEngine.java    | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/ca4d5b1d/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricsCacheSizeOfEngine.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricsCacheSizeOfEngine.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricsCacheSizeOfEngine.java
index 757bfb7..56b67d3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricsCacheSizeOfEngine.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/timeline/cache/TimelineMetricsCacheSizeOfEngine.java
@@ -44,6 +44,8 @@ public class TimelineMetricsCacheSizeOfEngine implements SizeOfEngine {
   // Optimizations
   private volatile long timelineMetricPrimitivesApproximation = 0;
 
+  private long sizeOfMapEntry;
+
   private TimelineMetricsCacheSizeOfEngine(SizeOfEngine underlying) {
     this.underlying = underlying;
   }
@@ -51,6 +53,9 @@ public class TimelineMetricsCacheSizeOfEngine implements SizeOfEngine {
   public TimelineMetricsCacheSizeOfEngine() {
     this(new DefaultSizeOfEngine(DEFAULT_MAX_DEPTH, DEFAULT_ABORT_WHEN_MAX_DEPTH_EXCEEDED));
 
+    this.sizeOfMapEntry = reflectionSizeOf.sizeOf(new Long(1)) +
+      reflectionSizeOf.sizeOf(new Double(2.0));
+
     LOG.info("Creating custom sizeof engine for TimelineMetrics.");
   }
 
@@ -114,8 +119,8 @@ public class TimelineMetricsCacheSizeOfEngine implements SizeOfEngine {
         if (metricValues != null && !metricValues.isEmpty()) {
           // Numeric wrapper: 12 bytes + 8 bytes Data type + 4 bytes alignment = 48 (Long, Double)
           // Tree Map: 12 bytes for header + 20 bytes for 5 object fields : pointers + 1 byte for flag = 40
-          LOG.debug("Size of metric value: " + (48 + 40) * metricValues.size());
-          size += (48 + 40) * metricValues.size(); // Treemap size is O(1)
+          LOG.debug("Size of metric value: " + (sizeOfMapEntry + 40) * metricValues.size());
+          size += (sizeOfMapEntry + 40) * metricValues.size(); // Treemap size is O(1)
         }
       }
       LOG.debug("Total Size of metric values in cache: " + size);