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

Optimise stable ids

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: