You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Jukka Zitting (JIRA)" <ji...@apache.org> on 2010/07/09 14:11:50 UTC

[jira] Created: (JCR-2672) Cache also failed principal lookups

Cache also failed principal lookups
-----------------------------------

                 Key: JCR-2672
                 URL: https://issues.apache.org/jira/browse/JCR-2672
             Project: Jackrabbit Content Repository
          Issue Type: Improvement
          Components: jackrabbit-core, security
            Reporter: Jukka Zitting
            Priority: Minor


The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.

To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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


[jira] Commented: (JCR-2672) Cache also failed principal lookups

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

angela commented on JCR-2672:
-----------------------------

> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

fine by me.
angela

> Cache also failed principal lookups
> -----------------------------------
>
>                 Key: JCR-2672
>                 URL: https://issues.apache.org/jira/browse/JCR-2672
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core, security
>            Reporter: Jukka Zitting
>            Priority: Minor
>         Attachments: JCR-2672.patch
>
>
> The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.
> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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


[jira] Assigned: (JCR-2672) Cache also failed principal lookups

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

angela reassigned JCR-2672:
---------------------------

    Assignee: angela

> Cache also failed principal lookups
> -----------------------------------
>
>                 Key: JCR-2672
>                 URL: https://issues.apache.org/jira/browse/JCR-2672
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core, security
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Jukka Zitting
>            Assignee: angela
>            Priority: Minor
>             Fix For: 2.2.0
>
>         Attachments: JCR-2672.patch
>
>
> The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.
> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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


[jira] Updated: (JCR-2672) Cache also failed principal lookups

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

angela updated JCR-2672:
------------------------

        Fix Version/s: 2.2.0
    Affects Version/s: 2.1.0
                       2.0.0

> Cache also failed principal lookups
> -----------------------------------
>
>                 Key: JCR-2672
>                 URL: https://issues.apache.org/jira/browse/JCR-2672
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core, security
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Jukka Zitting
>            Assignee: angela
>            Priority: Minor
>             Fix For: 2.2.0
>
>         Attachments: JCR-2672.patch
>
>
> The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.
> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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


[jira] Updated: (JCR-2672) Cache also failed principal lookups

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

Jukka Zitting updated JCR-2672:
-------------------------------

    Fix Version/s: 2.1.1

> Cache also failed principal lookups
> -----------------------------------
>
>                 Key: JCR-2672
>                 URL: https://issues.apache.org/jira/browse/JCR-2672
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core, security
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Jukka Zitting
>            Assignee: angela
>            Priority: Minor
>             Fix For: 2.1.1, 2.2.0
>
>         Attachments: JCR-2672.patch
>
>
> The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.
> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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


[jira] Resolved: (JCR-2672) Cache also failed principal lookups

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

angela resolved JCR-2672.
-------------------------

    Resolution: Fixed

Revision: 964362
Applied a modified version of the patch provided by jukka:
- no enabled in AbstractPrincipalProvider by default
- added config option
- DefaultPrincipalProvider enables negative-cache unless it is explicitly turn off/on by the config.
- in addition to the patch the negative-entry cached required some adjustment to the cache-clearing mechanism in
  the DefaultPrincipalProvider.
- finally also added a couple of tests.

> Cache also failed principal lookups
> -----------------------------------
>
>                 Key: JCR-2672
>                 URL: https://issues.apache.org/jira/browse/JCR-2672
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core, security
>    Affects Versions: 2.0.0, 2.1.0
>            Reporter: Jukka Zitting
>            Assignee: angela
>            Priority: Minor
>             Fix For: 2.2.0
>
>         Attachments: JCR-2672.patch
>
>
> The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.
> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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


[jira] Updated: (JCR-2672) Cache also failed principal lookups

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

Jukka Zitting updated JCR-2672:
-------------------------------

    Attachment: JCR-2672.patch

The attached patch implements the proposed change.

> Cache also failed principal lookups
> -----------------------------------
>
>                 Key: JCR-2672
>                 URL: https://issues.apache.org/jira/browse/JCR-2672
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: jackrabbit-core, security
>            Reporter: Jukka Zitting
>            Priority: Minor
>         Attachments: JCR-2672.patch
>
>
> The principal cache in Jackrabbit normally does a good job in ensuring good performance in critical areas like ACL evaulation. However, the cache only includes successful principal lookups, so an ACE that references a missing (or mistyped) principal can cause notable performance issues as a new principal lookup is needed whenever the node covered by such an ACL is accessed.
> To solve that problem I propose that we extend the principal cache to also cover negative principal lookups.

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