Author: mreutegg
Date: Mon Nov 27 13:49:54 2017
New Revision: 1816451
URL: http://svn.apache.org/viewvc?rev=1816451&view=rev
Log:
OAK-6968: Cumulative RGC stats always shows timeActive=0
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCStatsTest.java
Modified:
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java?rev=1816451&r1=1816450&r2=1816451&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/VersionGarbageCollector.java
Mon Nov 27 13:49:54 2017
@@ -259,7 +259,7 @@ public class VersionGarbageCollector {
final Stopwatch deleteSplitDocs = Stopwatch.createUnstarted();
final Stopwatch sortDocIds = Stopwatch.createUnstarted();
final Stopwatch updateResurrectedDocuments =
Stopwatch.createUnstarted();
- long collectDeletedDocsElapsed, checkDeletedDocsElapsed,
deleteDeletedDocsElapsed, collectAndDeleteSplitDocsElapsed,
+ long activeElapsed, collectDeletedDocsElapsed,
checkDeletedDocsElapsed, deleteDeletedDocsElapsed,
collectAndDeleteSplitDocsElapsed,
deleteSplitDocsElapsed, sortDocIdsElapsed,
updateResurrectedDocumentsElapsed;
@Override
@@ -303,7 +303,7 @@ public class VersionGarbageCollector {
", splitDocGCCount=" + splitDocGCCount +
", intermediateSplitDocGCCount=" +
intermediateSplitDocGCCount +
", iterationCount=" + iterationCount +
- ", timeActive=" + df.format(active.elapsed(MICROSECONDS),
MICROSECONDS) +
+ ", timeActive=" + df.format(activeElapsed, MICROSECONDS) +
", " + timings + "}";
}
@@ -320,6 +320,7 @@ public class VersionGarbageCollector {
this.updateResurrectedGCCount += run.updateResurrectedGCCount;
if (run.iterationCount > 0) {
// run is cumulative with times in elapsed fields
+ this.activeElapsed += run.activeElapsed;
this.collectDeletedDocsElapsed +=
run.collectDeletedDocsElapsed;
this.checkDeletedDocsElapsed += run.checkDeletedDocsElapsed;
this.deleteDeletedDocsElapsed += run.deleteDeletedDocsElapsed;
@@ -329,6 +330,7 @@ public class VersionGarbageCollector {
this.updateResurrectedDocumentsElapsed +=
run.updateResurrectedDocumentsElapsed;
} else {
// single run -> read from stop watches
+ this.activeElapsed += run.active.elapsed(MICROSECONDS);
this.collectDeletedDocsElapsed +=
run.collectDeletedDocs.elapsed(MICROSECONDS);
this.checkDeletedDocsElapsed +=
run.checkDeletedDocs.elapsed(MICROSECONDS);
this.deleteDeletedDocsElapsed +=
run.deleteDeletedDocs.elapsed(MICROSECONDS);
Modified:
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCStatsTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCStatsTest.java?rev=1816451&r1=1816450&r2=1816451&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCStatsTest.java
(original)
+++
jackrabbit/oak/trunk/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/VersionGCStatsTest.java
Mon Nov 27 13:49:54 2017
@@ -60,6 +60,7 @@ public class VersionGCStatsTest {
public void addRun() {
VersionGCStats cumulative = new VersionGCStats();
cumulative.addRun(stats);
+ assertEquals(stats.active.elapsed(MICROSECONDS),
cumulative.activeElapsed);
assertEquals(stats.collectDeletedDocs.elapsed(MICROSECONDS),
cumulative.collectDeletedDocsElapsed);
assertEquals(stats.checkDeletedDocs.elapsed(MICROSECONDS),
cumulative.checkDeletedDocsElapsed);
assertEquals(stats.deleteDeletedDocs.elapsed(MICROSECONDS),
cumulative.deleteDeletedDocsElapsed);
@@ -75,6 +76,7 @@ public class VersionGCStatsTest {
// double stats by adding to itself
cumulative.addRun(cumulative);
// now the stats must have doubled
+ assertEquals(stats.active.elapsed(MICROSECONDS) * 2,
cumulative.activeElapsed);
assertEquals(stats.collectDeletedDocs.elapsed(MICROSECONDS) * 2,
cumulative.collectDeletedDocsElapsed);
assertEquals(stats.checkDeletedDocs.elapsed(MICROSECONDS) * 2,
cumulative.checkDeletedDocsElapsed);
assertEquals(stats.deleteDeletedDocs.elapsed(MICROSECONDS) * 2,
cumulative.deleteDeletedDocsElapsed);