Doctrine PHPCR
  1. Doctrine PHPCR
  2. PHPCR-52

lazy loading of ReferenceMany fails

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Labels:
      None

      Description

      When I have a document with ReferenceMany "Links", Doctrine PHPCR always loads all those referenced documents, even if I just load the main document. This is obviously very bad for performance.

      https://gist.github.com/1838831
      is a reproducible use-case. Just ran it twice and you'll see that in the second run, there is

      • one GET request for the initial documents
      • a REPORT request for every referenced document to resolve the UUID to a path
      • a POST request for multi-get-ing all the referenced documents

      See also this charles-screenshot
      https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg

      I have no idea where to look at to fix this, so any help would be very appreciated

        Activity

        Christian Stocker created issue -
        Christian Stocker made changes -
        Field Original Value New Value
        Description When I have a document with ReferenceMany "Links", Doctrine PHPCR always loads all those referenced documents, even if I just load the main document. This is obviously very bad for performance.

        https://gist.github.com/1838831
        is a reproducible use-case. Just ran it twice and you'll see that in the second run, there is one GET request for the initial document, then 2 REPORT requests for getting the full paths from the ids, and then getting both articles with one multi-get POST.

        https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg

        I have no idea where to look at to fix this, so any help would be very appreciated
        When I have a document with ReferenceMany "Links", Doctrine PHPCR always loads all those referenced documents, even if I just load the main document. This is obviously very bad for performance.

        https://gist.github.com/1838831
        is a reproducible use-case. Just ran it twice and you'll see that in the second run, there is

        - one GET request for the initial documents
        - a REPORT request for every referenced document to resolve the UUID to a path
        - a POST request for multi-get-ing all the referenced documents

        See also this charles-screenshot
        https://img.skitch.com/20120215-8572c4s5mc8gt2da5wjd71512w.jpg

        I have no idea where to look at to fix this, so any help would be very appreciated
        Lukas Kahwe made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

        This list may be incomplete, as errors occurred whilst retrieving source from linked applications:

        • Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=PHPCR-52, expand=changesets[0:20].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)

          People

          • Assignee:
            Lukas Kahwe
            Reporter:
            Christian Stocker
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: