You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2018/11/30 10:34:00 UTC

[jira] [Commented] (OAK-7928) Avoid reference resolution for user query with scope and declaredMembersOnly

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

angela commented on OAK-7928:
-----------------------------

from the benchmarks:

h3 status quo
h4 maxCount limited to 25
Executing benchmarks with 10000 members, 1000 groups, 25 queryMaxCount with run as admin = false
-----------------------------------------------------------
# FindAuthorizableWithScopeT,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    370,    370,    377,    419,    421,     13
Oak-Segment-Tar             ,     10,   1011,   1049,   1073,   1257,   1315,     50
Oak-Segment-Tar             ,     20,   1857,   1991,   2126,   2309,   2397,     60
Oak-Segment-Tar             ,     50,   1003,   5336,   5511,   5606,   5610,     51

h4 maxCount 1000000
Executing benchmarks with 10000 members, 1000 groups, 1000000 queryMaxCount with run as admin = false
-----------------------------------------------------------
# FindAuthorizableWithScopeT,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    500,    501,    513,    550,    552,     10
Oak-Segment-Tar             ,     10,   1830,   1896,   1983,   2044,   2070,     30
Oak-Segment-Tar             ,     20,   3684,   3735,   3944,   4159,   4209,     40
Oak-Segment-Tar             ,     50,   9445,   9680,   9912,  10002,  10020,     50

h3 with proposed patch
h4. maxCount limited to 25
Executing benchmarks with 10000 members, 1000 groups, 25 queryMaxCount with run as admin = false
-----------------------------------------------------------
# FindAuthorizableWithScopeT,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,     17,     18,     18,     19,     31,    268
Oak-Segment-Tar             ,     10,     41,     82,     87,     93,    110,    575
Oak-Segment-Tar             ,     20,     94,    159,    177,    190,    221,    577
Oak-Segment-Tar             ,     50,    230,    381,    461,    551,    689,    560

h4 maxCount 1000000
Executing benchmarks with 10000 members, 1000 groups, 1000000 queryMaxCount with run as admin = false
-----------------------------------------------------------
# FindAuthorizableWithScopeT,      C,    min,    10%,    50%,    90%,    max,      N
Oak-Segment-Tar             ,      1,    170,    173,    177,    196,    221,     28
Oak-Segment-Tar             ,     10,    935,    955,    970,   1086,   1091,     60
Oak-Segment-Tar             ,     20,   1825,   1880,   1976,   2024,   2054,     60
Oak-Segment-Tar             ,     50,   5031,   5079,   5171,   5202,   5205,     50


> Avoid reference resolution for user query with scope and declaredMembersOnly
> ----------------------------------------------------------------------------
>
>                 Key: OAK-7928
>                 URL: https://issues.apache.org/jira/browse/OAK-7928
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: angela
>            Assignee: angela
>            Priority: Major
>         Attachments: OAK-7928.patch
>
>
> [~stillalex], as discussed I think there is some room for improvement when running a user query with {{QueryBuilder.setScope(String groupId, boolean declaredMembersOnly)}}, where {{declaredMembersOnly}} is set to _true_. Instead of resolving the member references and comparing the authorizableId in order to filter out those that are not declared member of the given group, it would be sufficient to compare the contentIDs and thus avoiding the extra round trip resolving the UUID to a Tree and building the corresponding {{Authorizable}}.
> I will attach a patch illustrating the proposed improvements along with some extension to the corresponding benchmark (and some initial numbers). 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)