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

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


The following commit(s) were added to refs/heads/master by this push:
     new 657055b  SLING-9782 : Failure in loading vanity paths due to query 
limit being reached
657055b is described below

commit 657055bcb31059dc7b71cde55941fb2050cbaddb
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Mon Oct 19 12:20:11 2020 +0200

    SLING-9782 : Failure in loading vanity paths due to query limit being 
reached
---
 .../sling/resourceresolver/impl/mapping/MapEntries.java   | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java 
b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
index b382756..95f174b 100644
--- 
a/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
+++ 
b/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java
@@ -194,10 +194,10 @@ public class MapEntries implements
                 return this.factory.isOptimizeAliasResolutionEnabled();
             }
 
-            boolean result = this.factory.isOptimizeAliasResolutionEnabled();
+            boolean isOptimizeAliasResolutionEnabled = 
this.factory.isOptimizeAliasResolutionEnabled();
 
             //optimization made in SLING-2521
-            if (result) {
+            if (isOptimizeAliasResolutionEnabled) {
                 try {
                     final Map<String, Map<String, String>> loadedMap = 
this.loadAliases(resolver);
                     this.aliasMap = loadedMap;
@@ -207,7 +207,7 @@ public class MapEntries implements
                     logDisableAliasOptimization(e);
 
                     // disable optimize alias resolution
-                    result = false;
+                    isOptimizeAliasResolutionEnabled = false;
                 }
             }
 
@@ -217,7 +217,7 @@ public class MapEntries implements
 
             sendChangeEvent();
 
-            return result;
+            return isOptimizeAliasResolutionEnabled;
 
         } finally {
 
@@ -1388,7 +1388,9 @@ public class MapEntries implements
         }
     }
 
-    private final AtomicLong logCounter = new AtomicLong(0);
+    private final AtomicLong lastTimeLogged = new AtomicLong(-1);
+
+    private final long LOGGING_ERROR_PERIOD = 1000 * 60 * 5;
 
     @Override
     public void logDisableAliasOptimization() {
@@ -1399,7 +1401,8 @@ public class MapEntries implements
         if ( e != null ) {
             log.error("Unexpected problem during initialization of optimize 
alias resolution. Therefore disabling optimize alias resolution. Please fix the 
problem.", e);
         } else {
-            if ( logCounter.incrementAndGet() % 1000 == 0 ) {
+            final long now = System.currentTimeMillis();
+            if ( now - lastTimeLogged.getAndSet(now) > LOGGING_ERROR_PERIOD) {
                 log.error("A problem occured during initialization of optimize 
alias resolution. Optimize alias resolution is disabled. Check the logs for the 
reported problem.", e);
             }
         }

Reply via email to