Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-10447

sling:vanityPath are being searched during startup in the entire repository, including version storage

    XMLWordPrintableJSON

Details

    Description

      We have a lot of pages on our production author instance. We also have a lot of pages that use sling:vanityPath. Everytime a page is replicated, a new version is created.

      We have roughly 168.000 pages in our instance. In the /content node, there are approx. 4500 pages with vanity URLs. In the version storage, however, there are 120.000+ entries that have a sling:vanityPath defined.

      When starting up Apache Sling, the Resource Resolver fetches all the existing sling:vanityPath entries, which it fails to do, because of the large amount of sling:vanityPath in the version storage.

      In the code, I specifically see checks (when processing the query results) about the version storage. However, this should have been put inside the query as a filter, in order to avoid fetching such a large amount of query result nodes:
      https://github.com/apache/sling-org-apache-sling-resourceresolver/blob/4406b8fed0fedb48202fc6472fb552c36aa06e35/src/main/java/org/apache/sling/resourceresolver/impl/mapping/MapEntries.java#L1158

      I propose to update the query with a "not isdescendantnode"-check, to make sure we do not return any content from the version storage and thus make the default query limits of 100.000 nodes work again.

      Attachments

        1. with-path-restrictions.json
          8 kB
          Henry Kuijpers
        2. without-path-restrictions.json
          2 kB
          Henry Kuijpers

        Issue Links

          Activity

            People

              rombert Robert Munteanu
              Henry Kuijpers Henry Kuijpers
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 7h 10m
                  7h 10m