Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3004

Check if a DAV-Request has a Label in the header, before checking if it's version-controlled

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2.7, 2.3
    • 2.3
    • jackrabbit-jcr-server
    • None

    Description

      When looking at our MySQL logs, I realized that jackrabbit on each DAV Request calls the VERSION table every time I get a new node (which is not cached yet), even if I only do a simple getNode.
      As a versioning table can get pretty large, this may have a performance impact.

      I found out, that DavResourceFactoryImpl checks, if a node is versioned to decide, if we have to check for the Label header to later check out another version for the GET request. I re-ordered those checks now so that it first checks, if there's an http Label-header and only then checks, if the node is versioned. The check for a Label header should be much faster than checking a DB, if it's versioned (and scale much better, too)

      Attachments

        1. patch_commit_85c91801358a.patch
          2 kB
          Christian Stocker

        Activity

          People

            angela Angela Schreiber
            chregu Christian Stocker
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: