[
https://issues.apache.org/jira/browse/OAK-4888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15595987#comment-15595987
]
Alexander Klimetschek commented on OAK-4888:
--------------------------------------------
> I think we need more data (examples)
> say ordering by an unindexed property
See OAK-4887. This is a real issue we have seen and on par with a completely
missing index if the amount of nodes the index covers is large (i.e. almost the
entire repository).
> if you run a query only once, then it's better to not create an index
Right. I was only thinking of queries folks built into their applications. For
admin/developer style one off queries I think the "option(traversal ok)" (which
a query UI could offer as a checkbox) should be fine.
> Long term, I would prefer if there is no config option at all (as that's yet
> another knob that increases the surface area, and can be misused...). I was
> hoping that we can make "fail" the default at some point, and then we can
> even remove the (undocumented) system property.
Agreed.
> Warn or fail queries above a configurable cost value
> ----------------------------------------------------
>
> Key: OAK-4888
> URL: https://issues.apache.org/jira/browse/OAK-4888
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: query
> Reporter: Alexander Klimetschek
> Assignee: Thomas Mueller
> Labels: docs-impacting
> Fix For: 1.5.13
>
>
> *Problem:* It's easy to run into performance problems with queries that are
> not backed by an index or miss the right one. Developers writing these
> queries typically do not have the real large production data, and thus don't
> see that a query would scale badly, and would not see any traversal warnings,
> as these only happen with a large number of results.
> *Proposal:* Oak's query engine already calculates a cost estimate to make a
> decision which index to use, or even if there is any at all. This cost
> estimate could be used to find out if a query is not supported by an index or
> with one that is not suitable enough (e.g. ordering by property that is not
> indexed)
> If a query is above a certain cost value, a big warning could be put out or
> even the query could be made to fail (maybe a per query option, that you
> might want to have to "fail" by default to ensure people are not overlooking
> the problem). The cost limit should be configurable, as it might depend on
> the hardware power.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)