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

Optimise stable ids

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: segment-tar

      Description

      Currently SegmentNodeState#getStableId() returns a string with all its associated overhead:

      • high memory requirements (42 characters plus the overhead of a String instance. The raw requirements are a mere 20 bytes (long msb, long lsb, int offset). The memory overhead is problematic as the stable id is used as key in the node deduplication cache (See OAK-4635).
      • high serialisation cost. I have seen getStableId() occurring in stack traces. This is to be expected as that method is called quite often when comparing node states.

      This issue is to explore options for reducing both CPU and memory overhead of stable ids.

        Attachments

          Activity

            People

            • Assignee:
              mduerig Michael Dürig
              Reporter:
              mduerig Michael Dürig
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: