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

        Howard M. Lewis Ship created issue -
        Howard M. Lewis Ship made changes -
        Field Original Value New Value
        Assignee Howard M. Lewis Ship [ hlship ]
        Howard M. Lewis Ship made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Hide
        Howard M. Lewis Ship added a comment -

        Let's see how well this works out in the field. I think is going to be a big win.

        Show
        Howard M. Lewis Ship added a comment - Let's see how well this works out in the field. I think is going to be a big win.
        Howard M. Lewis Ship made changes -
        Status In Progress [ 3 ] Closed [ 6 ]
        Fix Version/s 5.0.8 [ 12312898 ]
        Resolution Fixed [ 1 ]
        Mark Thomas made changes -
        Workflow jira [ 12420025 ] Default workflow, editable Closed status [ 12568030 ]
        Mark Thomas made changes -
        Workflow Default workflow, editable Closed status [ 12568030 ] jira [ 12590016 ]
        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open In Progress In Progress
        11d 23h 51m 1 Howard M. Lewis Ship 12/Jan/08 18:27
        In Progress In Progress Closed Closed
        7h 28m 1 Howard M. Lewis Ship 13/Jan/08 01:56

          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