List Info

Thread: Fwd: hibernate-dev Digest, Vol 9, Issue 88




Fwd: hibernate-dev Digest, Vol 9, Issue 88
user name
2007-03-29 10:08:56
 From the Hibernate dev list, from yesterday, detailing out
Steve's  
plans for refactoring in HIbernate, wrt. 2nd level caches:


Begin forwarded message:

> From: hibernate-dev-requestlists.jboss.org
> Date: 28 March 2007 21:08:02 BDT
> To: hibernate-devlists.jboss.org
> Subject: hibernate-dev Digest, Vol 9, Issue 88
> Reply-To: hibernate-devlists.jboss.org
>
> <SNIP />
>
> Message: 2
> Date: Wed, 28 Mar 2007 15:07:38 -0500
> From: Steve Ebersole <stevehibernate.org>
> Subject: [hibernate-dev] org.hibernate.cache redesign
> To: hibernate-dev <hibernate-devlists.jboss.org>
> Message-ID: <460ACB0A.4010205hibernate.org>
> Content-Type: text/plain;
charset="iso-8859-1"
>
> So I am in the midst of redesigning the stuff in the  
> org.hibernate.cache package
> as we discussed previously during our last roadmap
discussion.   
> This is work I
> will commit to trunk, but not to Branch_3_2 and which
will start  
> the 3.3
> development line since it will require significant SPI
changes.
>
> So I just wanted to start a more detailed discussion
regarding my  
> plans here and
> to see if anyone wants to add anything and to make sure
I am not  
> missing anything.
>
> So the first aspect is to split and rename the concept
which is  
> currently termed
> org.hibernate.cache.Cache.  Now, there will be a base
interface named
> o.h.c.Region, with 4 specializations: EntityRegion,
CollectionRegion,
> QueryResultsRegion, TimestampsRegion (whose purpose are
hopefully  
> self-evident 
>
> Next, we need a SPI for building these various types of
regions.   
> This is the
> role of the new o.h.c.SecondLevelCache interface.  It
is somewhat  
> akin to
> o.h.c.CacheProvider in terms of contract except that I
break out  
> different
> methods for building each "region type". 
Currently there is one  
> implementation
> OOTB: o.h.c.impl.SecondLevelBridge which acts as a
bridge between  
> this new API
> and the older CacheProvider stuff, which I decided to
leave in  
> place for the
> time being to make migration easier initially.  But
this is where,  
> for example,
> we'd plug in more intelligent region management like we
have been  
> discussing
> with the JBossCache team.
>
> These changes also affect how
o.h.c.CacheConcurrencyStrategy  
> works.  First, I
> took this refactoring as an opportunity to rename  
> CacheConcurrencyStrategy to
> AccessStrategy since that is more true to the role. 
And actually  
> this is split
> as well into EntityRegionAccessStrategy and  
> CollectionRegionAccessStrategy,
> because I found this more natural and easier to follow
from an  
> implementation
> perspective (I did not really see a philosophical
reason for this  
> split).
>
> Anyway, I attached the initial version of these
contracts for an  
> early peek.
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: cache-redesign.zip
> Type: application/x-zip-compressed
> Size: 12848 bytes
> Desc: not available
> Url : http://lists.jboss.org/pipermail/hibernate-dev/attach
ments/ 
> 20070328/f48e8d36/cache-redesign.bin
>
> ------------------------------
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-devlists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev

>
>
> End of hibernate-dev Digest, Vol 9, Issue 88
> ********************************************

--
Manik Surtani

Lead, JBoss Cache
JBoss, a division of Red Hat

Email: manikjboss.org
Telephone: +44 7786 702 706
MSN: maniksurtani.org
Yahoo/AIM/Skype: maniksurtani


_______________________________________________
jbosscache-dev mailing list
jbosscache-devlists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosscache-dev

Re: Fwd: hibernate-dev Digest, Vol 9, Issue 88
user name
2007-03-29 10:23:24
Based on a conversation with Steve about

[1] http://www.jboss.com/index.html?module=bb
&op=viewtopic&t=103983
[2] htt
p://forum.hibernate.org/viewtopic.php?t=972301
[3] http://www.jboss.com/index.html?module=bb
&op=viewtopic&t=102202

and a recent support case, this all has to do with a
shortcoming of  
how Hibernate (3.2.x) treats batch operations.  For most
operations,  
it uses ConcurrencyStrategies to determine how cache
interactions  
work and this is different for transactional (JBoss Cache)
vs. other  
strategies.  For batch operations, however, the codepath in
[1] above  
is used for *all* cache strategies and this causes problems
since  
calling cache.remove() in an afterCompletion() block of a  
Synchronization is in fact illegal as the transaction in
question is  
no longer valid nor is it guaranteed to be removed.

Fixing this is a part of Steve's org.hibernate.cache
redesign  
outlined below, but this is targeted for Hibernate 3.3
only.

See http://opensource.atlassian.com/projects/hiber
nate/browse/HHH-2532





On 29 Mar 2007, at 16:08, Manik Surtani wrote:

> From the Hibernate dev list, from yesterday, detailing
out Steve's  
> plans for refactoring in HIbernate, wrt. 2nd level
caches:
>
>
> Begin forwarded message:
>
>> From: hibernate-dev-requestlists.jboss.org
>> Date: 28 March 2007 21:08:02 BDT
>> To: hibernate-devlists.jboss.org
>> Subject: hibernate-dev Digest, Vol 9, Issue 88
>> Reply-To: hibernate-devlists.jboss.org
>>
>> <SNIP />
>>
>> Message: 2
>> Date: Wed, 28 Mar 2007 15:07:38 -0500
>> From: Steve Ebersole <stevehibernate.org>
>> Subject: [hibernate-dev] org.hibernate.cache
redesign
>> To: hibernate-dev <hibernate-devlists.jboss.org>
>> Message-ID: <460ACB0A.4010205hibernate.org>
>> Content-Type: text/plain;
charset="iso-8859-1"
>>
>> So I am in the midst of redesigning the stuff in
the  
>> org.hibernate.cache package
>> as we discussed previously during our last roadmap
discussion.   
>> This is work I
>> will commit to trunk, but not to Branch_3_2 and
which will start  
>> the 3.3
>> development line since it will require significant
SPI changes.
>>
>> So I just wanted to start a more detailed
discussion regarding my  
>> plans here and
>> to see if anyone wants to add anything and to make
sure I am not  
>> missing anything.
>>
>> So the first aspect is to split and rename the
concept which is  
>> currently termed
>> org.hibernate.cache.Cache.  Now, there will be a
base interface named
>> o.h.c.Region, with 4 specializations: EntityRegion,
CollectionRegion,
>> QueryResultsRegion, TimestampsRegion (whose purpose
are hopefully  
>> self-evident 
>>
>> Next, we need a SPI for building these various
types of regions.   
>> This is the
>> role of the new o.h.c.SecondLevelCache interface. 
It is somewhat  
>> akin to
>> o.h.c.CacheProvider in terms of contract except
that I break out  
>> different
>> methods for building each "region type". 
Currently there is one  
>> implementation
>> OOTB: o.h.c.impl.SecondLevelBridge which acts as a
bridge between  
>> this new API
>> and the older CacheProvider stuff, which I decided
to leave in  
>> place for the
>> time being to make migration easier initially.  But
this is where,  
>> for example,
>> we'd plug in more intelligent region management
like we have been  
>> discussing
>> with the JBossCache team.
>>
>> These changes also affect how
o.h.c.CacheConcurrencyStrategy  
>> works.  First, I
>> took this refactoring as an opportunity to rename 

>> CacheConcurrencyStrategy to
>> AccessStrategy since that is more true to the role.
 And actually  
>> this is split
>> as well into EntityRegionAccessStrategy and  
>> CollectionRegionAccessStrategy,
>> because I found this more natural and easier to
follow from an  
>> implementation
>> perspective (I did not really see a philosophical
reason for this  
>> split).
>>
>> Anyway, I attached the initial version of these
contracts for an  
>> early peek.
>> -------------- next part --------------
>> A non-text attachment was scrubbed...
>> Name: cache-redesign.zip
>> Type: application/x-zip-compressed
>> Size: 12848 bytes
>> Desc: not available
>> Url : http://lists.jboss.org/pipermail/hibernate-dev/attach
ments/ 
>> 20070328/f48e8d36/cache-redesign.bin
>>
>> ------------------------------
>>
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-devlists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev

>>
>>
>> End of hibernate-dev Digest, Vol 9, Issue 88
>> ********************************************
>
> --
> Manik Surtani
>
> Lead, JBoss Cache
> JBoss, a division of Red Hat
>
> Email: manikjboss.org
> Telephone: +44 7786 702 706
> MSN: maniksurtani.org
> Yahoo/AIM/Skype: maniksurtani
>
>
> _______________________________________________
> jbosscache-dev mailing list
> jbosscache-devlists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosscache-dev

--
Manik Surtani

Lead, JBoss Cache
JBoss, a division of Red Hat

Email: manikjboss.org
Telephone: +44 7786 702 706
MSN: maniksurtani.org
Yahoo/AIM/Skype: maniksurtani


_______________________________________________
jbosscache-dev mailing list
jbosscache-devlists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosscache-dev

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )