You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2007/06/05 20:37:26 UTC

[jira] Created: (DIRSERVER-959) We nedd a global cache

We nedd a global cache 
-----------------------

                 Key: DIRSERVER-959
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
             Project: Directory ApacheDS
          Issue Type: Improvement
    Affects Versions: 1.5.0
            Reporter: Emmanuel Lecharny
            Priority: Critical


Currently, we only have local caches assigned to each partition :
- a so called "global" cache which stores the partition entries
- a cache for each declared index

We also have real global caches :
- a cache for referrals
- a cache for ACIs (tuples)
- a cache for subentries
- a cache for principals
- a cache for Groups 
- a cache for notAlias entries

Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.

After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
- the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
- the possibility to change this balance dynamically, depending on the actual hit rate
- the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
- the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server

It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache

Feel free to add comments in this JIRA !

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


[jira] Commented: (DIRSERVER-959) We nedd a global cache

Posted by "Ersin Er (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501663 ] 

Ersin Er commented on DIRSERVER-959:
------------------------------------

Once upon a time we had thought of using something like http://ehcache.sourceforge.net/  as Confluence does. +1 for centralized and managable cache system.

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.0
>            Reporter: Emmanuel Lecharny
>            Priority: Critical
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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


[jira] Updated: (DIRSERVER-959) We nedd a global cache

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

Alex Karasulu updated DIRSERVER-959:
------------------------------------

             Priority: Major  (was: Critical)
    Affects Version/s:     (was: 1.5.0)

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.0.0
>
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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


[jira] Commented: (DIRSERVER-959) We nedd a global cache

Posted by "Stefan Seelmann (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501664 ] 

Stefan Seelmann commented on DIRSERVER-959:
-------------------------------------------

I use ehcache in some projects. It is easy to use and really rocks so far.

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.0
>            Reporter: Emmanuel Lecharny
>            Priority: Critical
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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


[jira] Updated: (DIRSERVER-959) We nedd a global cache

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

Emmanuel Lecharny updated DIRSERVER-959:
----------------------------------------

    Fix Version/s: pre-2.0

postponed to 2.0

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.0
>            Reporter: Emmanuel Lecharny
>            Priority: Critical
>             Fix For: pre-2.0
>
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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


[jira] Commented: (DIRSERVER-959) We nedd a global cache

Posted by "Emmanuel Lecharny (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DIRSERVER-959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530406 ] 

Emmanuel Lecharny commented on DIRSERVER-959:
---------------------------------------------

To be able to implement an efficient entry cache, we must move the leafEvaluator out of the Partition. This will impact the Partition interface.

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>    Affects Versions: 1.5.0
>            Reporter: Emmanuel Lecharny
>            Priority: Critical
>             Fix For: 2.0.0
>
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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


[jira] Updated: (DIRSERVER-959) We nedd a global cache

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

Emmanuel Lecharny updated DIRSERVER-959:
----------------------------------------

    Fix Version/s: 2.0.0-RC1
                       (was: 2.0.0)

Moved back to 2.0.0-RC1

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.0.0-RC1
>
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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


[jira] Updated: (DIRSERVER-959) We nedd a global cache

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

Emmanuel Lecharny updated DIRSERVER-959:
----------------------------------------

    Fix Version/s: 2.5.0
                       (was: 2.0.0-RC1)

No time for that in 2.0

> We nedd a global cache 
> -----------------------
>
>                 Key: DIRSERVER-959
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-959
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>            Reporter: Emmanuel Lecharny
>             Fix For: 2.5.0
>
>
> Currently, we only have local caches assigned to each partition :
> - a so called "global" cache which stores the partition entries
> - a cache for each declared index
> We also have real global caches :
> - a cache for referrals
> - a cache for ACIs (tuples)
> - a cache for subentries
> - a cache for principals
> - a cache for Groups 
> - a cache for notAlias entries
> Up to this point, it becomes to be a full mess. We have so many different caches, with so many different configurations, that it's almost impossible to know how to correctly tune the server. Moreover, we may have empty caches when other are heavily hit.
> After having discussed about this situation with Alex, we think wit would be better to have a global cache shared between all the partitions, but with added functionnalities :
> - the possibility to balance the cache between partitions (for instance, 20% for 'ou=system', 80% for 'dc=example, dc=com'
> - the possibility to change this balance dynamically, depending on the actual hit rate
> - the possibility to dedicate a part of this cach to pin some entries in memory (like the schema partition entries, for instance)
> - the possibility to increase or decrease the cache size dynamically, without having to stop and restart the server
> It would be also a good idea to be able to have a global Interface for all the cache we have, and may be a cache manager instead of a specific implementation for each cache
> Feel free to add comments in this JIRA !

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