jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgeny Tugarev (Jira)" <j...@apache.org>
Subject [jira] [Created] (OAK-9587) Add an attribute to enforce a strict index tag check
Date Tue, 28 Sep 2021 20:39:00 GMT
Evgeny Tugarev created OAK-9587:

             Summary: Add an attribute to enforce a strict index tag check
                 Key: OAK-9587
                 URL: https://issues.apache.org/jira/browse/OAK-9587
             Project: Jackrabbit Oak
          Issue Type: New Feature
          Components: query
    Affects Versions: 1.22.8
            Reporter: Evgeny Tugarev

JCR Query which does not specify an INDEX() tag may eventually pick up the tagged index.

This is not an error, however this behaviour is not always desirable when a tagged index must
only be used by a specific query which explicitly specify an index tag and be transparent
to other queries which does not specify it.

If I understand correctly the check is done [here|https://github.com/apache/jackrabbit-oak/blob/db55659c08dff47e9c28eef03f1a5628af13d8b2/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/spi/query/FulltextIndexPlanner.java#L412]

I propose to add a boolean parameter (strictTagCheck or sth similar) which enforces a strict
check for the index tag - the idea is to mark such index as wrong in case query does not specify
the index tag and an index definition contains a tag. I think this change is also a backward
compatible as does not change the existing behaviour, but adds a new one.

N.B. Currently a workaround applied to set the high costPerExecution and costPerEntry has
a negative side effect of the query falling back to traverse and fails as it traverses >
100 000 nodes.

And, yes, it's an urgent issue :) 

This message was sent by Atlassian Jira

View raw message