[hibernate-issues] [Hibernate-JIRA] Created: (HHH-7239) centralize before/after transaction callbacks in TransactionCoordinator
Shawn Clowater (JIRA)
noreply at atlassian.com
Tue Apr 10 13:45:50 EDT 2012
centralize before/after transaction callbacks in TransactionCoordinator
-----------------------------------------------------------------------
Key: HHH-7239
URL: https://hibernate.onjira.com/browse/HHH-7239
Project: Hibernate ORM
Issue Type: Bug
Components: core
Affects Versions: 4.1.2
Environment: Hibernate 4.1.2, database n/a
Reporter: Shawn Clowater
There are 2 issues that came to light during extended testing of the Shared Transaction impl.
1st issue is that when a Session is opened during a shared transaction scenario it registers a TransactionObserver with the TransactionCoordinatorImpl to perform operations such as managedFlush and manageClose calls on the child sessions. This observer is not release until the transaction completes so even if the session is closed it can never be garbage collected.
2nd issue is that the afterTransaction/beforeTransaction processes are registered with the ActionQueue belonging to a Session and when the transaction coordinator completes the transaction it only calls the afterTransactionCompletion on the Session that owns the TransactionCoordinator and not any of the child sessions.
Originally suggested that the session remove itself from the observer list on close and that the created observer should also call the before/after transaction methods but an alternative solution was discussed where the TransactionCoordinator and not the ActionQueue would be where the after transaction processes are registered. The ActionQueue would register actions with the Coordinator vs. keeping its own lists.
Test cases showing both scenarios to follow shortly.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list