Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-5025

Speed up ACE node name generation

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1.5.12
    • 1.5.15, 1.6.0
    • core

    Description

      Currently, o.a.j.oak.security.authorization.accesscontrol.Util#generateAceName is traversing all the existing ACE of a certain node in order to generate continuous numbering (allow0, allow1, allow2).
      While that certainly helps to produce human readable names, it represents quite a performance bottleneck when the number of existing ACE starts to grow.

      Since the naming is a pure implementation detail, my proposal is to keep the continuous numbering for the first hundreds of nodes and then use a random number to generate unique names in a faster fashion.

      Attachments

        1. ace_creation_status_quo_withsave.txt
          165 kB
          Angela Schreiber
        2. ace_creation_index.txt
          68 kB
          Angela Schreiber
        3. ace_creation_index_withsave.txt
          169 kB
          Angela Schreiber
        4. ace_creation_random_withsave.txt
          176 kB
          Angela Schreiber
        5. ace_creation_random.txt
          66 kB
          Angela Schreiber
        6. ace_creation_status_quo.txt
          85 kB
          Angela Schreiber
        7. OAK-5025-ACE-random-nodename-generation.patch
          6 kB
          Alex Collignon
        8. OAK-5025-ACE-name-generation-benchmarks.patch
          11 kB
          Alex Collignon

        Activity

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

          People

            angela Angela Schreiber
            acollign Alex Collignon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment