Uploaded image for project: 'Directory ApacheDS'
  1. Directory ApacheDS
  2. DIRSERVER-959

We nedd a global cache

Watch issueLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0.AM26
    • None
    • None

    Description

      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 !

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            elecharny Emmanuel Lécharny
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment