[ https://issues.apache.org/jira/browse/OAK-6892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davide Giannella updated OAK-6892: ---------------------------------- Fix Version/s: 1.12 > 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 > Priority: Major > Fix For: 1.10.0, 1.12 > > > 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 (v7.6.3#76005)