Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2006

Replace naive page pool mechanism with a more realistic one that can handle larger sites

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 5.0.7
    • Fix Version/s: 5.0.8
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      The current page pooling mechanism is not very smart: pages are cached in memory forever, regardless of whether they are ever used, and a new page instance will be created any time a page is needed.

      A less naive implementation would limit the number of page instances.

      Page instances should be purged periodically, based on a LRU algorithm. The cutoff time should be configurable.

      The instance pool for a page/locale combination should track the number of created instances. There should be a hard and soft limit on the number of page instances; that is, track the number of page instances currently "in play". If the soft limit is exceeded, wait a short time (a few milliseconds, configurable) for an instance to become available, then create a fresh instance (unless the hard limit has been reached).

        Attachments

          Activity

            People

            • Assignee:
              hlship Howard M. Lewis Ship
              Reporter:
              hlship Howard M. Lewis Ship
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: