Uploaded image for project: 'RichFaces'
  1. RichFaces
  2. RF-9426

Check iteration state saving for facets of dataTable component

    Details

      Description

      Here is the excerpt from the letter I've just received:

      >>>> There is memory leak in UIDataAdaptorBase/rich:dataTable.
      >>>> It affects:
      >>>> - external filtering (input in "header" facet)
      >>>> - embedded filtering ("filterBy" column attribute) - facet
      >>>> "filterValueInput" is added internally
      >>>>
      >>>> Code in UIDataAdaptorBase#saveChildState:
      >>>> itr = c.getFacets().values().iterator();
      >>>> while (itr.hasNext())

      { >>>> saveChildState(faces, (UIComponent) itr.next(), childState); >>>> }

      >>>>
      >>>> Column facet state is saved in the view for each row.
      >>>>
      >>>> For the table with 500 rows 5 columns with filtering that resulst in
      >>>> 350kB
      >>>> of extra view size.
      >>>> UIDataAdaptorBase$DataState size - 350 kB
      >>>> There are 2500 (500 rows * 5 columns) instances of
      >>>> UIDataAdaptorBase$SavedState.
      >>>>
      >>>> The same table without filtering does not have this issue and
      >>>> UIDataAdaptorBase$DataState size is 1 kB.
      >>>>

      This affects 3.x. Please check if 4.x is affected by the problem.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  nbelaevski Nick Belaevski
                  Reporter:
                  nbelaevski Nick Belaevski
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  1 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: