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

baedke pushed a commit to branch OAK-11697
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


The following commit(s) were added to refs/heads/OAK-11697 by this push:
     new a10a42e217 OAK-11697: Indexing / query limit / traversal error: 
improve diagnostics
a10a42e217 is described below

commit a10a42e2172f95881f06161a4de0f98ce292d6b1
Author: Manfred Baedke <[email protected]>
AuthorDate: Wed Nov 26 14:54:53 2025 +0100

    OAK-11697: Indexing / query limit / traversal error: improve diagnostics
    
    Extended logging and error message.
---
 .../src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java  | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
index 3f08b4fae4..d9065919fb 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
@@ -1267,6 +1267,14 @@ public class QueryImpl implements Query {
             }
             String caller = 
IndexUtils.getCaller(settings.getIgnoredClassNamesInCallTrace());
             String message = "Traversal query (query without index): " + 
statement + "; called by " + caller + "; consider creating an index";
+            if (traversal != Traversal.OK) {
+                String plan = getPlan();
+                List<QueryIndex> indexList = 
context.getIndexProvider().getQueryIndexes(context.getBaseState())
+                        .stream()
+                        .sorted(MINIMAL_COST_ORDERING)
+                        .collect(Collectors.toList());
+                message += "\n" + plan + "\n" + "Available indexes at the time 
of query execution:" + "\n" + indexList;
+            }
             switch (traversal) {
             case DEFAULT:
                 // not possible (changed to either FAIL or WARN above)

Reply via email to