]
Steve Ebersole updated HHH-3357:
--------------------------------
Assignee: Steve Ebersole
Fix Version/s: 3.4
3.3.x
3.2.x
Summary: improve performance of session.clear() (was: session.clear() takes too
long)
improve performance of session.clear()
--------------------------------------
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
Assignee: Steve Ebersole
Fix For: 3.2.x, 3.3.x, 3.4
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: