You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2020/03/27 13:30:38 UTC

svn commit: r1875778 - in /jackrabbit/oak/branches/1.22: ./ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java

Author: reschke
Date: Fri Mar 27 13:30:37 2020
New Revision: 1875778

URL: http://svn.apache.org/viewvc?rev=1875778&view=rev
Log:
OAK-8905: AsyncIndexUpdate: improve logging when checkpoint cleanup gets skipped (merged r1874130 into 1.22)

Modified:
    jackrabbit/oak/branches/1.22/   (props changed)
    jackrabbit/oak/branches/1.22/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java

Propchange: jackrabbit/oak/branches/1.22/
------------------------------------------------------------------------------
  Merged /jackrabbit/oak/trunk:r1874130

Modified: jackrabbit/oak/branches/1.22/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java?rev=1875778&r1=1875777&r2=1875778&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.22/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java (original)
+++ jackrabbit/oak/branches/1.22/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java Fri Mar 27 13:30:37 2020
@@ -636,18 +636,25 @@ public class AsyncIndexUpdate implements
     }
 
     private void maybeCleanUpCheckpoints() {
-        // clean up every five minutes
-        long currentMinutes = TimeUnit.MILLISECONDS.toMinutes(
-                System.currentTimeMillis());
-        if (!indexStats.isFailing()
-                && cleanupIntervalMinutes > -1
-                && lastCheckpointCleanUpTime + cleanupIntervalMinutes < currentMinutes) {
-            try {
-                cleanUpCheckpoints();
-            } catch (Throwable e) {
-                log.warn("Checkpoint clean up failed", e);
+        if (cleanupIntervalMinutes < 0) {
+            log.debug("checkpoint cleanup skipped because cleanupIntervalMinutes set to: " + cleanupIntervalMinutes);
+        } else if (indexStats.isFailing()) {
+            log.debug("checkpoint cleanup skipped because index stats are failing: " + indexStats);
+        } else {
+            // clean up every five minutes by default
+            long currentMinutes = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis());
+            long scheduledInMinutes = (lastCheckpointCleanUpTime + cleanupIntervalMinutes) - currentMinutes;
+
+            if (scheduledInMinutes > 0) {
+                log.debug("checkpoint cleanup scheduled in " + scheduledInMinutes + " minutes");
+            } else {
+                try {
+                    cleanUpCheckpoints();
+                } catch (Throwable e) {
+                    log.warn("Checkpoint clean up failed", e);
+                }
+                lastCheckpointCleanUpTime = currentMinutes;
             }
-            lastCheckpointCleanUpTime = currentMinutes;
         }
     }