[
https://issues.apache.org/jira/browse/RAVE-876?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557714#comment-13557714
]
Chris Geer commented on RAVE-876:
---------------------------------
Trevor, if you have some time to look at it further it would be greatly
appreciated. I agree with your assessment that this will improve performance.
> Change to fetch Collections on JpaWidget lazily instead of eagerly.
> -------------------------------------------------------------------
>
> Key: RAVE-876
> URL: https://issues.apache.org/jira/browse/RAVE-876
> Project: Rave
> Issue Type: Improvement
> Components: rave-jpa
> Reporter: Trevor Mack
> Priority: Trivial
> Attachments: [RAVE-876]_-_JpaWidget_Lazy_Loading_Collections.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> On page load there are a number of objects that get populated (either from
> cache, if implemented, or via database provider) for the @JoinColumn
> attributes on a JPAWidget because FetchType is set to EAGER.
> For a vanilla instance of Rave this is overly excessive since the Widget in
> order to render doesn't require Ratings, Comments, Tags, or Categories this
> should be set to FetchType.LAZY to allow the JPA provider the ability to add
> efficiency in the server's time rendering the base page layout / html.
> ---------------------- initial email contents ----------------------
> I have been spending sometime in looking at the effecency of a RAVE extension
> and discovered that on initial page load (and every page load after that)
> there is some excessive database / cache calls being made to populate the
> model. Taking a look at the JPA configuration I pinned it down to how OpenJPA
> is creating the JpaWidget model as there are a number of parameters being
> fetched, though never used the following list shows this:
> - List<JpaWidgetComment> comments (ln #184)
> - List<JpaWidgetRating> ratings (ln #202)
> - List<JpaWidgetTag> tags (ln #206)
> - List<JpaCategory> categories (ln #214)
> These attributes are only displayed within the store and IMHO are not needed
> to be EAGERLY fetched. Changing this to the more common FetchType.LAZY. The
> default usually is to load Collections lazily while loading attributes
> eagerly. [1]
> If there aren't any objections I am going to submit a patch this afternoon,
> created a ticket within JIRA (my first contribution to RAVE!)
--
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