The collection eviction is done via a call to the
org.hibernate.cache.access.CollectionRegionAccessStrategy interface's remove(Object)
method. The Hibernate/JBC integration implements that by calling JBC's
Cache.removeNode(Fqn) method.
Calls to CollectionRegionAccessStrategy.remove() are all made via
org.hibernate.action.CollectionAction.evict(). That in turn is called by the execute()
method of the various subclasses of CollectionAction.
The PFER call comes via
org.hibernate.engine.loading.CollectionLoadContext.addCollectionToCache(...)
Above classes are all in the "core" module of Hibernate Core.
I agree that the fact this only happens under load certainly seems like a big clue. Just
not sure what to make of it yet.
I don't have experience with the Bitronix TX Manager, so don't know if it would
have the synchronization ordering issue. But if you were seeing that problem I'd think
you'd have other issues less subtle than this one.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4214697#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...