[
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)