[
https://issues.jboss.org/browse/RF-12491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Pasek updated RF-12491:
-----------------------------
Description:
When a RichFaces Tab of a TabPanel contains a RichFaces DataTable the model of
the DataTable is accessed even if the Tab is not rendered at all.
Since the retrieval of the data table data might include costly database
operations this is a serious performance issue.
The issue seems to be related to the state saving of JSF: the methods are not
called during encodeAll() but during state saving of view.
My own analysis shows that AbstractTogglePanel visitTree() implementation
visits all tab panels sub tree but not only the active one. Additionally it
seems that the UIDataAdaptor wants to visit all rows of table even if it is not
rendered as JSF state saving runs in RENDER_RESPONSE phase (see attached
stacktrace).
was:
When a RichFaces Tab of a TabPanel contains a RichFaces DataTable the model of
the DataTable is accessed even if the Tab is not rendered at all.
Since the retrieval of the data table data might include costly database
operations this is a serious performance issue.
The issue seems to be related to the state saving of JSF: the methods are not
called during encodeAll() but during state saving of view.
> Datatable model is accessed in tab panel which is not rendered using switch
> type "server"
> -----------------------------------------------------------------------------------------
>
> Key: RF-12491
> URL: https://issues.jboss.org/browse/RF-12491
> Project: RichFaces
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: component-panels-layout-themes, component-tables
> Affects Versions: 4.2.0.Final, 4.2.2.Final
> Environment: Mojarra 2.1.20, JDK 1.6, JDK 1.7, Tomcat 7.0.x
> Reporter: Denis Pasek
> Labels: dataTable, tab, tabPanel
> Attachments: richfaces-visittree.zip, stacktrace-richfaces.png
>
>
> When a RichFaces Tab of a TabPanel contains a RichFaces DataTable the model
> of the DataTable is accessed even if the Tab is not rendered at all.
> Since the retrieval of the data table data might include costly database
> operations this is a serious performance issue.
> The issue seems to be related to the state saving of JSF: the methods are not
> called during encodeAll() but during state saving of view.
> My own analysis shows that AbstractTogglePanel visitTree() implementation
> visits all tab panels sub tree but not only the active one. Additionally it
> seems that the UIDataAdaptor wants to visit all rows of table even if it is
> not rendered as JSF state saving runs in RENDER_RESPONSE phase (see attached
> stacktrace).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues