You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2010/03/17 09:04:27 UTC

[jira] Created: (JCR-2573) Performance of AC Evaluation

Performance of AC Evaluation
----------------------------

                 Key: JCR-2573
                 URL: https://issues.apache.org/jira/browse/JCR-2573
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
          Components: jackrabbit-core
    Affects Versions: 2.0.0
            Reporter: angela
            Assignee: angela


1. Performance in access control evaluation
=====================================================================

 - main focus on
   > read performance
   > resource-based access control in .a.j.c/s/authorization/acl/*

 - comparison admin vs. anonymous with full permissions
 - comparision between shortcut and ACL-evaluation.
 - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
   some custom AC stuff with JR 1.4]


2. Potential Problems
=====================================================================

   I would expect the most significant problems to be found in

a) ACLProvider#retrieveResultEntries: calculating effective ACEs
     for each session separately.

b) AclPermission:
     Each instance registering an event listener in order to
     keep the result cache up to date

c) AclPermission:
     Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-2573) Performance of AC Evaluation

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899893#action_12899893 ] 

angela commented on JCR-2573:
-----------------------------

> [...] plans to merge this into the 2.1 branch (I just saw it was merged to 2.0). 

no concrete plans up to now.


> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2573) Performance of AC Evaluation

Posted by "nihongye (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nihongye updated JCR-2573:
--------------------------

    Attachment: acl.zip

i had focus the acl performance problem,and make a new acl implement,it work in the way:

1.in many query,the result had same parent,to reduce collect times of parent entries,i use LRUMap(100)  to cache parentEntries

2.cache every ACE of ACLNode,a cache like ItemStateReferenceCache.see CachedACLManager

3.avoid path operate,add a new method,public boolean grants(ItemId itemId, int permissions,HierarchyManager hierMgr)

the test result show fast many times and small memory footprint

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2573) Performance of AC Evaluation

Posted by "nihongye (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nihongye updated JCR-2573:
--------------------------

    Attachment: acl.zip

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2573) Performance of AC Evaluation

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-2573:
-------------------------------

    Fix Version/s: 2.0.3
                   2.1.2

I merged revision 950440 to the 2.1 branch in revision 989597.

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.0.3, 2.1.2, 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-2573) Performance of AC Evaluation

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12917915#action_12917915 ] 

Jukka Zitting commented on JCR-2573:
------------------------------------

See also JCR-2699 for some concurrent ACL evaluation improvements proposed by Ian Boston.

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.0.3, 2.1.2, 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2573) Performance of AC Evaluation

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

angela updated JCR-2573:
------------------------

    Fix Version/s: 2.2.0

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-2573) Performance of AC Evaluation

Posted by "Joel Feenstra (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899545#action_12899545 ] 

Joel Feenstra commented on JCR-2573:
------------------------------------

I am seeing a sporadic failure to read a file using webdav with Jackrabbit 2.1.0. If I share a nt:folder and apply permissions to it to make it read-only for some users, sometimes I am unable to read the properties of an nt:file in that folder. I tried our code against Jackrabbit 2.2-SNAPSHOT and it worked fine. I tried to find out what change fixes the bug, and it appears to be r950440. Are there plans to merge this into the 2.1 branch (I just saw it was merged to 2.0).

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2573) Performance of AC Evaluation

Posted by "nihongye (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

nihongye updated JCR-2573:
--------------------------

    Attachment:     (was: acl.zip)

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (JCR-2573) Performance of AC Evaluation

Posted by "nihongye (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882497#action_12882497 ] 

nihongye edited comment on JCR-2573 at 6/25/10 4:59 AM:
--------------------------------------------------------

i had focus the acl performance problem,and make a new acl implement,it work in the way:

1.in many query,the result had same parent,to reduce collect times of parent entries,i use LRUMap(100)  to cache parentEntries

2.a global cache to cache every ACE of ACLNode,a cache like ItemStateReferenceCache.see CachedACLManager

3.avoid path operate,add a new method,public boolean grants(ItemId itemId, int permissions,HierarchyManager hierMgr)

the test result show fast many times and small memory footprint

      was (Author: nihongye):
    i had focus the acl performance problem,and make a new acl implement,it work in the way:

1.in many query,the result had same parent,to reduce collect times of parent entries,i use LRUMap(100)  to cache parentEntries

2.cache every ACE of ACLNode,a cache like ItemStateReferenceCache.see CachedACLManager

3.avoid path operate,add a new method,public boolean grants(ItemId itemId, int permissions,HierarchyManager hierMgr)

the test result show fast many times and small memory footprint
  
> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (JCR-2573) Performance of AC Evaluation

Posted by "Ian Boston (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12919266#action_12919266 ] 

Ian Boston commented on JCR-2573:
---------------------------------

Please read the later comment in JCR-2699 as we found GC Threshold problems with the AccessControlProviderHolder in JCR-2699

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.0.3, 2.1.2, 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (JCR-2573) Performance of AC Evaluation

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/JCR-2573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jukka Zitting updated JCR-2573:
-------------------------------

    Fix Version/s:     (was: 2.1.2)
                       (was: 2.0.3)

> Performance of AC Evaluation
> ----------------------------
>
>                 Key: JCR-2573
>                 URL: https://issues.apache.org/jira/browse/JCR-2573
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core
>    Affects Versions: 2.0.0
>            Reporter: angela
>            Assignee: angela
>             Fix For: 2.2.0
>
>         Attachments: acl.zip
>
>
> 1. Performance in access control evaluation
> =====================================================================
>  - main focus on
>    > read performance
>    > resource-based access control in .a.j.c/s/authorization/acl/*
>  - comparison admin vs. anonymous with full permissions
>  - comparision between shortcut and ACL-evaluation.
>  - comparison JR 1.4 vs JR 2.0 [actually i will compare Day's CRX as it already provided
>    some custom AC stuff with JR 1.4]
> 2. Potential Problems
> =====================================================================
>    I would expect the most significant problems to be found in
> a) ACLProvider#retrieveResultEntries: calculating effective ACEs
>      for each session separately.
> b) AclPermission:
>      Each instance registering an event listener in order to
>      keep the result cache up to date
> c) AclPermission:
>      Resolution form Path to Item or to nearest existing Item 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.