You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Leonardo Uribe (JIRA)" <de...@myfaces.apache.org> on 2014/09/02 21:10:20 UTC

[jira] [Resolved] (MYFACES-3918) DefaultFaceletsStateManagementStrategy: keep list of removed client IDs stable over time

     [ https://issues.apache.org/jira/browse/MYFACES-3918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leonardo Uribe resolved MYFACES-3918.
-------------------------------------
       Resolution: Fixed
    Fix Version/s: 2.2.5
                   2.1.16
                   2.0.22
         Assignee: Leonardo Uribe

I have been checking the code step by step and I have found a solution for it. The idea is remember only the ids of the removed components when the view is restored. In that part, the view is build as the first time, then the components marked to be removed are discarded from the tree and then other components are added.

I make some junit tests to confirm if the solution is valid and stable and it is. I also did a small fix to avoid a duplicate listener.

> DefaultFaceletsStateManagementStrategy: keep list of removed client IDs stable over time
> ----------------------------------------------------------------------------------------
>
>                 Key: MYFACES-3918
>                 URL: https://issues.apache.org/jira/browse/MYFACES-3918
>             Project: MyFaces Core
>          Issue Type: Improvement
>    Affects Versions: 2.1.15, 2.1.16-SNAPSHOT
>            Reporter: Marc H.
>            Assignee: Leonardo Uribe
>             Fix For: 2.0.22, 2.1.16, 2.2.5
>
>
> As described in this thread: http://markmail.org/thread/ayo7ooo3nzpzahd4
> Clearing part of the component tree (calling getChildren().clear()) several time while staying on the same view (through Ajax requests) causes the list of removed client IDs (maintained in org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy) to grow endlessly, which in turns degrades performances.
> In our situation, a form with approximately 400 components took ~250ms on the first request to more than 1 second after ~15 update.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)