You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cs...@apache.org on 2025/02/17 16:37:14 UTC

(sling-org-apache-sling-distribution-journal) branch master updated: SLING-12660 - Also log offset when package import takes too long

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

cschneider pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-journal.git


The following commit(s) were added to refs/heads/master by this push:
     new c5f92f9  SLING-12660 - Also log offset when package import takes too long
c5f92f9 is described below

commit c5f92f9913a3598140a983841245113a40b89e17
Author: Christian Schneider <cs...@adobe.com>
AuthorDate: Mon Feb 17 17:36:59 2025 +0100

    SLING-12660 - Also log offset when package import takes too long
---
 .../org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
index 04f9bdf..cb63164 100644
--- a/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
+++ b/src/main/java/org/apache/sling/distribution/journal/bookkeeper/BookKeeper.java
@@ -107,6 +107,7 @@ public class BookKeeper {
     private final InvalidationProcessor invalidationProcessor;
     private final AtomicLong currentImportStartTime;
     private final AtomicReference<PackageMessage> currentImportPackage;
+    private final AtomicLong currentImportOffset;
     private int skippedCounter = 0;
 
     public BookKeeper(ResourceResolverFactory resolverFactory, SubscriberMetrics subscriberMetrics,
@@ -132,6 +133,7 @@ public class BookKeeper {
         this.subscriberMetrics.currentImportDuration(this::getCurrentImportDuration);
         this.currentImportStartTime = new AtomicLong();
         this.currentImportPackage = new AtomicReference<>();
+        this.currentImportOffset = new AtomicLong();
         log.info("Started bookkeeper {}.", config);
     }
     
@@ -159,6 +161,7 @@ public class BookKeeper {
             preProcess(pkgMsg);
             this.currentImportStartTime.set(importStartTime);
             this.currentImportPackage.set(pkgMsg);
+            this.currentImportOffset.set(offset);
             packageHandler.apply(importerResolver, pkgMsg);
             if (config.isEditable()) {
                 storeStatus(importerResolver, new PackageStatus(Status.IMPORTED, offset, pkgMsg.getPubAgentName()));
@@ -517,7 +520,7 @@ public class BookKeeper {
         }
         long currentImportDurationMs = System.currentTimeMillis() - importStartTime;
         if (currentImportDurationMs > IMPORT_TIME_WARN_LEVEL.toMillis()) {
-            log.warn("Import of packageId={} takes currentImportTimeSeconds={} which is longer than warnLevelSeconds={}", currentImportPackage.get(), currentImportDurationMs / 1000, IMPORT_TIME_WARN_LEVEL.toSeconds());
+            log.warn("Import of package={}, offset={} takes currentImportTimeSeconds={} which is longer than warnLevelSeconds={}", currentImportPackage.get(), currentImportOffset.get(), currentImportDurationMs / 1000, IMPORT_TIME_WARN_LEVEL.toSeconds());
         }
         return currentImportDurationMs;
     }