You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ck...@apache.org on 2020/06/03 08:58:43 UTC

svn commit: r1878427 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMerger.java

Author: ckoell
Date: Wed Jun  3 08:58:42 2020
New Revision: 1878427

URL: http://svn.apache.org/viewvc?rev=1878427&view=rev
Log:
JCR-4578 IndexMerger should log more debug informations about the internal IndexBuckets

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMerger.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMerger.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMerger.java?rev=1878427&r1=1878426&r2=1878427&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMerger.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/IndexMerger.java Wed Jun  3 08:58:42 2020
@@ -148,14 +148,26 @@ class IndexMerger implements IndexListen
                 long lower = 0;
                 long upper = minMergeDocs;
                 while (upper < maxMergeDocs) {
-                    indexBuckets.add(new IndexBucket(lower, upper, true));
+                    IndexBucket indexBucket = new IndexBucket(lower, upper, true);
+                    indexBuckets.add(indexBucket);
+                    if (log.isDebugEnabled()) {
+                        log.debug("IndexBucket (" + indexBucket.toString() +") created.");
+                    }
                     lower = upper + 1;
                     upper *= mergeFactor;
                 }
                 // one with upper = maxMergeDocs
-                indexBuckets.add(new IndexBucket(lower, maxMergeDocs, false));
+                IndexBucket upperIndexBucket = new IndexBucket(lower, maxMergeDocs, false);
+                indexBuckets.add(upperIndexBucket);
+                if (log.isDebugEnabled()) {
+                    log.debug("IndexBucket (" + upperIndexBucket.toString() + ") created.");
+                }
                 // and another one as overflow, just in case...
-                indexBuckets.add(new IndexBucket(maxMergeDocs + 1, Long.MAX_VALUE, false));
+                IndexBucket overlowIndexBucket = new IndexBucket(maxMergeDocs + 1, Long.MAX_VALUE, false);
+                indexBuckets.add(overlowIndexBucket);
+                if (log.isDebugEnabled()) {
+                    log.debug("IndexBucket (" + overlowIndexBucket.toString() + ") created.");
+                }
             }
 
             // put index in bucket
@@ -169,7 +181,7 @@ class IndexMerger implements IndexListen
             bucket.add(new Index(name, numDocs));
 
             if (log.isDebugEnabled()) {
-                log.debug("index added: name=" + name + ", numDocs=" + numDocs);
+                log.debug("index added name: " + name + ", numDocs: " + numDocs + " into IndexBucket (" + bucket.toString() + ")");
             }
 
             // if bucket does not allow merge, we don't have to continue
@@ -181,6 +193,9 @@ class IndexMerger implements IndexListen
             if (bucket.size() >= mergeFactor) {
                 long targetMergeDocs = bucket.upper;
                 targetMergeDocs = Math.min(targetMergeDocs * mergeFactor, maxMergeDocs);
+                if (log.isDebugEnabled()) {
+                    log.debug("check merge for IndexBucket (" + bucket.toString() + "), targetMergeDocs: " + targetMergeDocs);
+                }
                 // sum up docs in bucket
                 List<Index> indexesToMerge = new ArrayList<Index>();
                 int mergeDocs = 0;
@@ -453,6 +468,11 @@ class IndexMerger implements IndexListen
         boolean allowsMerge() {
             return allowMerge;
         }
+        
+        @Override
+        public String toString() {
+            return "Lower: " + lower + ", Upper: " + upper + ", AllowMerge: " + allowMerge + ", Size: " + size();
+        }
     }
 
     private class Worker implements Runnable, IndexListener {