[ https://issues.apache.org/jira/browse/OAK-5978?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15940437#comment-15940437 ]
Thomas Mueller commented on OAK-5978: ------------------------------------- > The current limits don't appear to protect against outage. Could you provide more details about that please. > Starting a timer at the start of the query and checking the time elapsed at > convenient points Well, there are different times limits, which one are you interested in: * The time since the query was started (for example, between the Query.execute() and the very latest call for this query, which might be NodeIterator.nextNode() or for example getSize()). This is relatively easy to measure. * The accumulated time of each call for the given query. That is, the time needed for Query.execute(), plus the time needed for each individual NodeIterator.nextNode(), and all other calls individually). > 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)