[ 
https://issues.apache.org/jira/browse/OAK-4888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Klimetschek updated OAK-4888:
---------------------------------------
    Description: 
*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 missing the 
problem). The cost limit should be configurable, as it might depend on the 
hardware power.

  was:
*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 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 missing the problem). The 
cost limit should be configurable, as it might depend on the hardware power.


> 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
>
> *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 missing 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)

Reply via email to