[
https://issues.apache.org/jira/browse/TRINIDAD-1356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthias Weßendorf resolved TRINIDAD-1356.
------------------------------------------
Resolution: Fixed
Fix Version/s: 1.2.11-core
Assignee: Matthias Weßendorf
Thanks to Blake Sullivan for his patch
> Application of changes by the ChangeManager is extremely slow
> -------------------------------------------------------------
>
> Key: TRINIDAD-1356
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1356
> Project: MyFaces Trinidad
> Issue Type: Improvement
> Affects Versions: 1.2.10-core
> Environment: All
> Reporter: Blake Sullivan
> Assignee: Matthias Weßendorf
> Fix For: 1.2.11-core
>
> Attachments: JIRA_1356_12101_b.patch
>
> Original Estimate: 96h
> Remaining Estimate: 96h
>
> Now that the SessionChangeManager applies all of the changes at the end of
> the RichDocument's tag processing, change application is extremely slow.
> This is because the ChangeManager needs to call invokeOnComponent for each
> change and there is no removal of duplicate changes. Since many components
> add a new attribute change every time the component is
> manipulated--splitters, disclosure components, tables, etc. The
> SessionChangeManager overhead becomes higher and higher the more time that
> the user spends interacting with the page. The solution is to collapse the
> most common changes--attribute changes--together to decrease the number of
> changes that need to be applied on each request. (Another fix would be
> avoiding application of changes where the component state already includes
> the change). The complicating factor in collapsing changes is that the
> MoveChildComponentChange can cause the clientId of a component to be modified
> so that the current clientId of the component doesn't match the clientId that
> an earlier change was recorded against. The solution to this problem is to
> track the MoveChildComponentChanges and build a mapping table to Map current
> clientIds to earlier clientIds as we iterate through the change list looking
> for matches.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.