[jbosscache-dev] READ_COMMITTED should be enforced for Hibernate 2nd level caching?

Brian Stansberry brian.stansberry at redhat.com
Tue Mar 17 10:29:27 EDT 2009


I'm about to post my comment re: R_R on the forum. Can we continue the 
discussion of this issue there, as dukehoops has done a lot of research 
and I don't want to drop him out of the discussion.

Brian Stansberry wrote:
> Jason T. Greene wrote:
>> Manik Surtani wrote:
>>> Have a look at this thread:
>>>
>>> http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4218569 
>>> <http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4218569>
>>>
>>> Does it make sense to enforce READ_COMMITTED for the Hibernate 2nd 
>>> Level Cache provider for JBC3, if MVCC is used?
>>
>> I would agree that REPEATABLE_READ does not make sense for a second 
>> level cache.
>>
> 
> The only logical use for R_R in the second level cache case is if 
> someone uses the Hibernate Session.evict(Object) method to evict an 
> entity or Session.clear() to clear all entities, and then later in the 
> tx wishes to read the entity again. Otherwise the Session itself acts as 
> a R_R cache.
> 
> (This is covered on page 13 of 
> http://www.jboss.org/file-access/default/members/jbossclustering/freezone/docs/hibernate-jbosscache-guide-3.pdf.) 
> 
> 
>> However, this sounds like a problem with PFER. If someone calls PFER, 
>> I think the original transaction should resync the node snapshot. 
> 
> How would this be done? AFAIK the application has no control over the 
> data in JBCs transaction context.
> 
> In other
>> words, the application has already attempted to write a new value (in 
>> the same thread and source tx even), so RR isolation is not only 
>> unnecessary, it is inconsistent with expectations.
>>
> 
> 


-- 
Brian Stansberry
Lead, AS Clustering
JBoss, a division of Red Hat
brian.stansberry at redhat.com



More information about the jbosscache-dev mailing list