[ 
https://issues.apache.org/jira/browse/OAK-5978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15940361#comment-15940361
 ] 

Thomas Mueller commented on OAK-5978:
-------------------------------------

How is your request different from what we have already? As Davide wrote on the 
Oak list, we cancel a query that iterated over a certain amount of nodes or as 
of 1.6 may hit the traversal index (doesn't have an index). As for resource 
exhaustion: we have a limit on the number of nodes read in memory. The number 
of traversed nodes is very similar to a time limit: the more nodes are 
traversed, the slower a query is (it's basically a 1:1 relationship). Measuring 
the time taken for a query is tricky, we would have to measure each individual 
"nextNode()" call, and sum that. This would include time to load binaries from 
Lucene indexes (possibly reads from the S3 datastore). This is highly dependant 
on caching, much more than a typical query in a relational database with a 
local file system.

> Allow deployers to configure a query time limit
> -----------------------------------------------
>
>                 Key: OAK-5978
>                 URL: https://issues.apache.org/jira/browse/OAK-5978
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: query
>    Affects Versions: 1.6.1
>            Reporter: Ian Boston
>
> Currently when a query takes a long time to complete, Oak allows it to 
> continue to completion, which can under certain circumstances result in 
> resource exhaustion and slow performance for all operations depending on Oak.
> This feature request is to apply a deployer configurable time limit to all 
> queries. If the query exceeds that time limit, it is canceled with a suitable 
> exception, so that it consumes no more resources and the code or user that 
> submitted the query is notified.
> Ideally this needs to work while the query is executing inside Oak rather 
> than waiting to return via the Oak API before being canceled. Cancelation 
> should result in minimal resource usage. 
> At this stage, this is an idea. It may not be possible to implement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to