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 New Feature
    • Status: Closed
    • Priority: Critical 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).

        Activity

        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12568030 ] jira [ 12590016 ]
        Mark Thomas made changes -
        Workflow jira [ 12420025 ] Default workflow, editable Closed status [ 12568030 ]
        Howard M. Lewis Ship made changes -
        Status In Progress [ 3 ] Closed [ 6 ]
        Fix Version/s 5.0.8 [ 12312898 ]
        Resolution Fixed [ 1 ]
        Howard M. Lewis Ship made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Assignee Howard M. Lewis Ship [ hlship ]
        Howard M. Lewis Ship created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development