Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-1266 DocumentStore implementation for relational databases
  3. OAK-2931

RDBDocumentStore: mitigate effects of large query result sets

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.14, 1.2.2
    • 1.0.15, 1.2.3, 1.3.0, 1.4
    • rdbmk

    Description

      With the DocumentStore query API, large result sets can happen; and these are returned as List<Document>, potentially causing large amounts of memory to be allocated.

      In the current implementation, the result list is generated based on a list of internal row presentations (RDBRow). These are currently freed when the method finishes. They should be freed as early as possible.

      Furthermore, when the result set gets big, RDBDocumentStore should log an error containing the call chain, so that the component doing the excessive query can be identified (it should use paging instead).

      (For completeness: we could also change the code to lazily populate the list; but that would be a bigger change)

      Attachments

        Activity

          People

            reschke Julian Reschke
            reschke Julian Reschke
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: