[
https://issues.apache.org/jira/browse/OAK-6892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Mueller updated OAK-6892:
--------------------------------
Fix Version/s: (was: 1.9.0)
1.10
> Query: ability to "nicely" traverse
> -----------------------------------
>
> Key: OAK-6892
> URL: https://issues.apache.org/jira/browse/OAK-6892
> Project: Jackrabbit Oak
> Issue Type: New Feature
> Components: query
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
> Fix For: 1.10
>
>
> Currently, queries that traverse many nodes log a warning, or can even fail
> (if configured). This is to ensure system resources are not blocked (CPU,
> I/O, memory).
> But there are cases where it doesn't make sense to create an index, but
> traverse (a certain path structure, or sometimes even the whole repository).
> For example, finding a text with "like '%xxx%'". The problem isn't that it's
> slow; the problem is that it's blocking / slowing down other users. Another
> example is during migration, where the alternative is to create an index
> (which also traverses the repository).
> One option is to allow such queries to run, but throttle them. We could add
> the hint {{option(traversal throttle)}} to do that. Throttle means: don't use
> up all I/O, but yield to other tasks depending on config settings (during
> migration, yield is not needed). As a rule of thumb, the longer the query
> runs, the more should it yield (up to some value).
> It would be good to allow stopping such queries, and get progress
> information. The easiest solution might be over JMX, and a more advanced
> solution is using new API (like, using an interface QueryTraversalObserver,
> and have our QueryResult implement that interface).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)