Uploaded image for project: 'Reporting Module'
  1. Reporting Module
  2. REPORT-646

Potentially stop caching reports in memory that have rendered output

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: TBD
    • Resolution: Fixed
    • Affects Version/s: Reporting 0.8.2
    • Fix Version/s: Reporting 0.9.1
    • Component/s: Running Reports
    • Labels:
      None
    • Complexity:
      Medium

      Description

      Currently, the reporting module maintains a cache in memory of Report object that have completed processing, containing both the ReportData object and a byte[] of the rendered report output.

      The main purpose for this in-memory cache is due to the fact that serializing the report data to disk, and then reading it from disk and deserializing it back into reportdata is time and resource intensive, and leads to a poor user experience for the Web Renderers.

      However, it is possible that for non-web-renderers that there is little benefit to doing this. There is however a drawback, in that if these reports are quite large than this cache can actually take up quite a bit of system memory.

      We should try changing our report processing such that for reports that have rendered output, that they are serialized to disk immediately after generation, in the same thread, and not added to the in-memory cache. If this performs close to as well as the current approach, we should adopt it.

      We should continue to maintain our cache of Report objects for when the web Renderer is chosen.

      Mark Goodrich and [~djazayeri], please comment with any additonal thoughts.

        Attachments

          Activity

            People

            Assignee:
            mseaton Mike Seaton
            Reporter:
            mseaton Mike Seaton
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: