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);