You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by mi...@apache.org on 2021/05/24 09:34:49 UTC

[geode] branch develop updated: GEODE-8191: update flaky test (#6427)

This is an automated email from the ASF dual-hosted git repository.

mivanac pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 6c1e3d7  GEODE-8191: update flaky test (#6427)
6c1e3d7 is described below

commit 6c1e3d700e1a075bff08b2f81f88387c8a05e489
Author: Mario Ivanac <48...@users.noreply.github.com>
AuthorDate: Mon May 24 11:33:04 2021 +0200

    GEODE-8191: update flaky test (#6427)
    
    * GEODE-8191: solution for failing test
    
    * GEODE-8191: update after comments
---
 .../org/apache/geode/internal/statistics/ResourceInstance.java | 10 ++++++++++
 .../org/apache/geode/internal/statistics/SampleCollector.java  |  4 +++-
 .../apache/geode/internal/statistics/StatArchiveWriter.java    |  1 +
 .../org/apache/geode/internal/statistics/ValueMonitor.java     |  1 +
 .../apache/geode/internal/statistics/SampleCollectorTest.java  |  2 +-
 5 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/ResourceInstance.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/ResourceInstance.java
index c83b051..2eb14db 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/ResourceInstance.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/ResourceInstance.java
@@ -33,11 +33,13 @@ public class ResourceInstance {
   private long[] previousStatValues = null;
   private long[] latestStatValues = null;
   private int[] updatedStats = null;
+  private boolean statValuesNotified;
 
   public ResourceInstance(int id, Statistics statistics, ResourceType type) {
     this.id = id;
     this.statistics = statistics;
     this.type = type;
+    this.statValuesNotified = false;
   }
 
   public int getId() {
@@ -52,6 +54,14 @@ public class ResourceInstance {
     return this.type;
   }
 
+  public boolean getStatValuesNotified() {
+    return this.statValuesNotified;
+  }
+
+  public void setStatValuesNotified(boolean notified) {
+    this.statValuesNotified = notified;
+  }
+
   public Number getStatValue(StatisticDescriptor sd) {
     return this.statistics.get(sd);
   }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
index 3bc6c79..49ecea0 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/SampleCollector.java
@@ -274,7 +274,9 @@ public class SampleCollector {
     }
 
     for (ResourceInstance ri : updatedResources) {
-      ri.setPreviousStatValues(ri.getLatestStatValues());
+      if (ri.getStatValuesNotified()) {
+        ri.setPreviousStatValues(ri.getLatestStatValues());
+      }
     }
   }
 
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
index eb1dbea..1c65ce0 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/StatArchiveWriter.java
@@ -508,6 +508,7 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
       }
       writeTimeStamp(nanosTimeStamp);
       for (ResourceInstance ri : resourceInstances) {
+        ri.setStatValuesNotified(true);
         writeSample(ri);
       }
       writeResourceInst(ILLEGAL_RESOURCE_INST_ID);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/statistics/ValueMonitor.java b/geode-core/src/main/java/org/apache/geode/internal/statistics/ValueMonitor.java
index f3b6f89..4ee9c71 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/statistics/ValueMonitor.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/statistics/ValueMonitor.java
@@ -98,6 +98,7 @@ public class ValueMonitor extends StatisticsMonitor {
         if (this.statistics.contains(resource.getStatistics())) {
           ResourceType resourceType = resource.getResourceType();
           StatisticDescriptor[] sds = resourceType.getStatisticDescriptors();
+          resource.setStatValuesNotified(true);
           int[] updatedStats = resource.getUpdatedStats();
           for (int i = 0; i < updatedStats.length; i++) {
             int idx = updatedStats[i];
diff --git a/geode-core/src/test/java/org/apache/geode/internal/statistics/SampleCollectorTest.java b/geode-core/src/test/java/org/apache/geode/internal/statistics/SampleCollectorTest.java
index ebbd8ba..4913cb4 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/statistics/SampleCollectorTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/statistics/SampleCollectorTest.java
@@ -210,7 +210,7 @@ public class SampleCollectorTest {
     ResourceInstance resourceInstance = allocatedResourceInstanceInfo.getResourceInstance();
     assertNotNull(resourceInstance);
     assertEquals(0, resourceInstance.getId());
-    assertEquals(0, resourceInstance.getUpdatedStats().length);
+    assertEquals(1, resourceInstance.getUpdatedStats().length);
     assertEquals(1, resourceInstance.getLatestStatValues().length); // TODO: is this correct?
     Statistics statistics = resourceInstance.getStatistics();
     assertNotNull(statistics);