jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joel Richard (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-2679) Query engine: faster cost calculation
Date Fri, 25 Sep 2015 07:29:04 GMT

    [ https://issues.apache.org/jira/browse/OAK-2679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14907746#comment-14907746

Joel Richard commented on OAK-2679:

[~mmarth], it turned out that it is very hard to implement a cache for the execution plans
because the values and even uncommitted changes have an influence on which index must be used.
On the other hand, the first results of this optimisation look very promising and almost as
good as a cache.

If necessary, it can be improved further by creating a cached index definition data structure
(instead of traversing over NodeStates) which is updated with an observation listener (as
far as I remember that is the most expensive task right now).

> Query engine: faster cost calculation
> -------------------------------------
>                 Key: OAK-2679
>                 URL: https://issues.apache.org/jira/browse/OAK-2679
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, query
>            Reporter: Thomas Mueller
>            Assignee: Thomas Mueller
>              Labels: performance
>             Fix For: 1.3.7
>         Attachments: 0001-OAK-2679-Reduce-execution-plan-overhead_0.2.patch, OAK-2679-2.patch,
OAK-2679.patch, executionplancache.patch
> If there are many indexes, preparing a query can take a long time, in relation to executing
the query.
> The query execution plans can be cached. The cache should be invalidated if there are
new indexes, or indexes are changed; a simple solution might be to use a timeout, and / or
a manual cache clean via JMX or so.

This message was sent by Atlassian JIRA

View raw message