You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Stevan Malesevic (JIRA)" <de...@myfaces.apache.org> on 2008/11/05 23:38:44 UTC

[jira] Created: (TRINIDAD-1289) _activePageState in StatemManagerImpl should be on the session level

_activePageState in StatemManagerImpl should be on the session level
--------------------------------------------------------------------

                 Key: TRINIDAD-1289
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1289
             Project: MyFaces Trinidad
          Issue Type: Bug
    Affects Versions: 1.2.9-core
            Reporter: Stevan Malesevic


StateManagerImpl has a code like this:

       synchronized(this)
       {
         if (_activePageState != null)
           _activePageState.clearViewRootState();
                 _activePageState = pageState;
       } 


There are two problems here:
1. Even when the last user session on the system expires the memory under PageState, which holds onto UIViewRoot, will not be gc-ed since Application holds onto StateManagerImpl which holds onto PageState
2. _activePageState is member of StateManagerImpl, which means different user sessions will call clearViewRootState on each other

Basically, _activePageState should be kept on Session so that both of these issues are taken care of

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (TRINIDAD-1289) _activePageState in StatemManagerImpl should be on the session level

Posted by "Matthias Weßendorf (JIRA)" <de...@myfaces.apache.org>.
     [ https://issues.apache.org/jira/browse/TRINIDAD-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Weßendorf resolved TRINIDAD-1289.
------------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.2.10-core
         Assignee: Matthias Weßendorf

applied the patch to fixed the bug and ported the patch to trunk.

Thanks, blake!

> _activePageState in StatemManagerImpl should be on the session level
> --------------------------------------------------------------------
>
>                 Key: TRINIDAD-1289
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1289
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>    Affects Versions: 1.2.9-core
>            Reporter: Stevan Malesevic
>            Assignee: Matthias Weßendorf
>             Fix For: 1.2.10-core
>
>         Attachments: JIRA_1289_1291.patch
>
>
> StateManagerImpl has a code like this:
>        synchronized(this)
>        {
>          if (_activePageState != null)
>            _activePageState.clearViewRootState();
>                  _activePageState = pageState;
>        } 
> There are two problems here:
> 1. Even when the last user session on the system expires the memory under PageState, which holds onto UIViewRoot, will not be gc-ed since Application holds onto StateManagerImpl which holds onto PageState
> 2. _activePageState is member of StateManagerImpl, which means different user sessions will call clearViewRootState on each other
> Basically, _activePageState should be kept on Session so that both of these issues are taken care of

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.