jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davide Giannella (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-6892) Query: ability to "nicely" traverse
Date Tue, 09 Apr 2019 10:37:12 GMT

     [ 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.14.0

> 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.12.0, 1.14.0
>
>
> 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)

Mime
View raw message