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 2022/07/22 12:40:05 UTC
[geode] branch develop updated: GEODE-10398: fix updating stats after restart (#7822)
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 9673d2bc4e GEODE-10398: fix updating stats after restart (#7822)
9673d2bc4e is described below
commit 9673d2bc4eaec478f06e75808a04d0ae459bc1df
Author: Mario Kevo <48...@users.noreply.github.com>
AuthorDate: Fri Jul 22 14:39:59 2022 +0200
GEODE-10398: fix updating stats after restart (#7822)
* GEODE-10398: fix updating stats after restart
* empty commit to re-launch CI
---
.../geode/internal/statistics/ResourceInstance.java | 20 ++++++++++++++++++++
.../geode/internal/statistics/SampleCollector.java | 1 +
.../geode/internal/statistics/StatArchiveWriter.java | 8 ++++----
3 files changed, 25 insertions(+), 4 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 ad8eb92a80..a946d9c275 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
@@ -35,6 +35,10 @@ public class ResourceInstance {
private int[] updatedStats = null;
private boolean statValuesNotified;
+ private long[] previousStatArchiveValues = null;
+
+ private long[] latestStatArchiveValues = null;
+
public ResourceInstance(int id, Statistics statistics, ResourceType type) {
this.id = id;
this.statistics = statistics;
@@ -94,6 +98,22 @@ public class ResourceInstance {
this.updatedStats = updatedStats;
}
+ public long[] getLatestStatArchiveValues() {
+ return latestStatArchiveValues;
+ }
+
+ public void setLatestStatArchiveValues(long[] latestStatValues) {
+ this.latestStatArchiveValues = latestStatValues;
+ }
+
+ public long[] getPreviousStatArchiveValues() {
+ return previousStatArchiveValues;
+ }
+
+ public void setPreviousStatArchiveValues(long[] previousStatValues) {
+ this.previousStatArchiveValues = previousStatValues;
+ }
+
@Override
public String toString() {
final StringBuilder sb = new StringBuilder(getClass().getName());
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 53072263c1..6d1b7f01a0 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
@@ -262,6 +262,7 @@ public class SampleCollector {
ri.setUpdatedStats(updatedStats);
ri.setLatestStatValues(statValues);
+ ri.setLatestStatArchiveValues(statValues);
updatedResources.add(ri);
}
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 d53d74febb..a4a959671b 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
@@ -506,8 +506,8 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
}
writeTimeStamp(nanosTimeStamp);
for (ResourceInstance ri : resourceInstances) {
- ri.setStatValuesNotified(true);
writeSample(ri);
+ ri.setPreviousStatArchiveValues(ri.getLatestStatArchiveValues());
}
writeResourceInst(ILLEGAL_RESOURCE_INST_ID);
dataOut.flush();
@@ -555,7 +555,7 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
sampleWrittenForResources.add(ri);
}
- long[] previousStatValues = ri.getPreviousStatValues();
+ long[] previousStatValues = ri.getPreviousStatArchiveValues();
if (isDebugEnabled_STATISTICS) {
logger.trace(LogMarker.STATISTICS_VERBOSE,
"StatArchiveWriter#writeSample checkForChange={}, previousStatValues={}, stats.length={}",
@@ -563,13 +563,13 @@ public class StatArchiveWriter implements StatArchiveFormat, SampleHandler {
}
if (previousStatValues == null) {
previousStatValues = new long[stats.length];
- ri.setPreviousStatValues(previousStatValues);
+ ri.setPreviousStatArchiveValues(previousStatValues);
}
int statsWritten = 0;
try {
for (int i = 0; i < stats.length; i++) {
- long value = ri.getLatestStatValues()[i];
+ long value = ri.getLatestStatArchiveValues()[i];
if (!checkForChange || value != previousStatValues[i]) {
long delta = checkForChange ? value - previousStatValues[i] : value;
if (!wroteInstId) {