[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-3357) session.clear() takes too long
Tim Downey (JIRA)
noreply at atlassian.com
Thu Sep 18 14:09:04 EDT 2008
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-3357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=31236#action_31236 ]
Tim Downey commented on HHH-3357:
---------------------------------
A simpler change may be to simply change line 115 of AbstractLazyInitializer from
if (isConnectedToSession()) {
to
if (s != null && isConnectedToSession()) {
Is there any downside to skipping the check if the new session is null? It seems harmless enough and definitely provides a major bump in performance if the session has a large number of objects within it.
> session.clear() takes too long
> ------------------------------
>
> Key: HHH-3357
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3357
> Project: Hibernate Core
> Issue Type: Improvement
> Components: core
> Affects Versions: 3.2.5, 3.2.6
> Reporter: Jay Erb
> Attachments: LazyInitializerPatch.txt
>
>
> Clearing a session that contains a large number of Proxies takes a very long time. The reason for this is that null is set on the LazyInitializer when clearing the StatefulPersistenceContext, whenever a new session is set on an AbstractLazyInitializer, a check is done to see if the AbstractLazyInitializer is still attached to its previous session (and correctly throws an exception if it is). This check performs a linear search through all Proxies in the PersistenceContext. Since we're setting the session to null, do we really need to do this expensive linear search?
> I propose we not perform the linear search if the session being set on the AbstractLazyInitializer is null.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list