EJB3/Hibernate/JBoss Cache intergration broken in EJB3 trunk
by Brian Stansberry
Carlo,
FYI, there are a bunch of EJB3 clustered entity test failures in AS
trunk due to a bad interaction between Hibernate 3.2.4.SP1 and JBoss
Cache 2.0.0. Basically, this is a temporary mismatch between Hibernate
and JBC. There's work in Hibernate Core's trunk for the 3.3 release that
can let us resolve this, but for now the tests are going to fail.
Problem is the integration layer ends up calling the JBC
putForExternalRead() method when it needs to cache something in the
"UpdateTimestampsCache". JBC treats a calls to this method as a no-op
if the cache node in question already exists. This is new behavior in
JBC 2.0. It's the necessary and intended behavior when the method is
called for caching entities and collections. But when it's called for
the UpdateTimestampsCache, it causes problems. The Hibernate 3.3.
codebase gives us the flexibility to call a different method for the
UpdateTimestampsCache call; to fix the problem we need determine the
exact behavior we want for the UpdateTimestampsCache call and make the
appropriate call to JBC.
--
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry(a)redhat.com
17 years, 5 months