Tom,

You're very wrong.  Option B with "Instance Per Transaction" is a very good viable 
solution for those that allow Read-Committed-like access to entity beans and have 
synchronization problems with their entity beans (deadlock).  I have a few customers 
using this option.  Please do not mislead everybody here.

And, I really disagree that the solution is "not standard".  Stop misleading everybody.

Bill

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Tom
> M. Yeh
> Sent: Thursday, August 01, 2002 10:13 PM
> To: Jboss-Development
> Subject: RE: [JBoss-dev] Please support Option B
> 
> 
> Jim,
> 
> My example is  a bit misleading. My point is the database already 
> does a good locking mechanism, and there is no reason to 
> implement one in EJB container. However, to get the best from the 
> database, we need something like Option B: one instance per 
> transaction, ejbLoad when first hit in a transaction, and no 
> passivation after transaction complete. It is actually the 
> simplest form if some one wants to implement a ACID cache for 
> accessing database from scratching.
> 
> MethodOnlyEJBLock and read-only flags are solution, but it, 
> besides not standard, takes too much effort for both container 
> and bean developers. After all, solving the deadlock issues at 
> database level for a sophisticated system is already a challenge.
> 
> Tom
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED]]On Behalf Of James
> > Cook
> > Sent: Friday, August 02, 2002 8:20 AM
> > To: [EMAIL PROTECTED]
> > Subject: RE: [JBoss-dev] Please support Option B
> > 
> > 
> > Options A, B, C or D don't have anything to do with this deadlock 
> > scenario that you refer to. I am assuming you are talking about 
> > an app server deadlock since you don't mention a specific 
> > database deadlock condition.
> > 
> > Most "advanced" servers (WebLogic, WebSphere, etc.) allow the 
> > same Bean instance (same Home, same PK) to exist in multiple 
> > transactions. Originally, Weblogic chose the more pessimistic 
> > approach, that jBoss has enabled by default, but they default to 
> > the multi-instance approach back in WL6. This pushes the 
> > responsibility on the developer to ensure that the database is 
> > ACID, but most developers of scalable systems will do this 
> > anyway. If not simply to support the multi-container scenario you 
> > allude to.
> > 
> > But back to EB locking, jBoss supports MethodOnlyEJBLock as a 
> > configuration option. I'm not absolutely sure, but isn't that the 
> > same thing as the opptomistic locking that WL and other servers support?
> > 
> > jim
> > 
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] 
> > > [mailto:[EMAIL PROTECTED]] On 
> > > Behalf Of Tom M. Yeh
> > > Sent: Thursday, August 01, 2002 8:04 AM
> > > To: Jboss-Development
> > > Subject: RE: [JBoss-dev] Please support Option B
> > > 
> > > 
> > > So, why Option B?
> > > 
> > > Let us assume you have two beans, A and B. One transaction 
> > > reads A and then B, while the other transaction reads B then 
> > > A. If option A is used, a dead lock occurs even though both 
> > > transactions won't modify A or B (this is OK if we access 
> > > database directly without using EJB).
> > > 
> > > So some says let us alter EJB spec a bit by allowing multiple 
> > > bean instances (i.e., each transaction has an independent 
> > > instance) for option A. But, if one transaction modifies A, 
> > > how shall the other transactions know and react? Some says 
> > > let developer specify which methods are read-only. If we do 
> > > it correctly, we just redo what the database already do 
> > > (read/update/exclusive locking, isolation level...). And, how 
> > > about clustering?
> > > 
> > > Some suggests to use stored procedure to trigger and 
> > > invalidate corresponding instances. Beside the question of 
> > > when to invalidate, it is hard to know what instances are 
> > > affected by simply looking at a database table -- you need 
> > > metainfo about how objects are mapped to tables and try to 
> > > map tables back to objects. Even you could, how about 
> > > clustering? One VM notifies another?
> > > 
> > > If we have Option B, then we could let database do what they 
> > > are good at. We just make sure the cached instances is 
> > > consistent with records in database. How? Optimistic lock for 
> > > one -- versioning or timestamp is good enough. It can be done 
> > > easily when ejbLoad is called -- which is demanded for option 
> > > B. However, in the current implementation, all instances are 
> > > trashed after a transaction complete, no matter option B or 
> > > C. Thus, optimistic lock is useless and we have to reload 
> > > instances when a new transaction starts.
> > > 
> > > After all, loading and comparing a timestamp is much cheaper 
> > > than loading the whole instance, because an instance usually 
> > > has multiple relations to other instances.
> > > 
> > > > Commit option A and when the row changes in the database a stored
> > > > procedure notifies the server that the data in cache is no 
> > > longer valid.
> > > >
> > > > -dain
> > > >
> > > > Ignacio Coloma wrote:
> > > >
> > > >> What is that "notifications" on A scheme marc is talking about?
> > > >>
> > > >> Dan Christopherson wrote:
> > > >>
> > > >>> OK, so it's more a matter of allowing multiple bean 
> > > instances. Once
> > > >>> that's there, B or C doesn't really matter - the extra overhead 
> > > >>> implied by C is noise compared to the database read 
> > > (which you need 
> > > >>> either way).
> > > >>> Of course, anybody that can use option A should.
> > > >>>
> > > >>> -danch
> > > >>>
> > > >>> Bill Burke wrote:
> > > >>>
> > > >>>> Yes, Tom, be more specific.  I know you're smarter than that.  
> > > >>>> You're probably talking about the "Instance per Transaction" 
> > > >>>> locking scheme.  This works fine with commit-option 'B'. 
> > >  Yes, it 
> > > >>>> is not totally optimized, but is
> > > >>>> does pool dead instances.
> > > >>>>
> > > >>>> Bill
> > > >>>>
> > > >>>>
> > > >>>>> -----Original Message-----
> > > >>>>> From: [EMAIL PROTECTED]
> > > >>>>> 
> > > [mailto:[EMAIL PROTECTED]]On Behalf Of
> > > >>>>> Dan
> > > >>>>> Christopherson
> > > >>>>> Sent: Friday, July 19, 2002 10:08 AM
> > > >>>>> To: [EMAIL PROTECTED]
> > > >>>>> Subject: Re: [JBoss-dev] Please support Option B
> > > >>>>>
> > > >>>>>
> > > >>>>> Whahuh? JBoss doesn't support option B?
> > > >>>>>
> > > >>>>> Tom M. Yeh wrote:
> > > >>>>>
> > > >>>>>> Dear All,
> > > >>>>>>
> > > >>>>>> According to the CSIRO report
> > > >>>>>>
> > > >>>>> (http://www.cmis.csiro.au/adsat/jboss.htm), JBoss is doing well 
> > > >>>>> with Stateless session beans. It implies reflection, by 
> > > comparing 
> > > >>>>> to static compiled codes, doesn't affect the performance much, 
> > > >>>>> while it has great architectural advantages such as pluggable 
> > > >>>>> interceptors.
> > > >>>>>
> > > >>>>>> However, entity beans is not the case. One of the reason, I
> > > >>>>>>
> > > >>>>> think, is this report uses Option B, which JBoss 
> > > doesn't support 
> > > >>>>> (and uses Option C instead). In other words, all beans 
> > > are trashed 
> > > >>>>> after a transaction is completed. It then introduces a lot of 
> > > >>>>> overhead since every transaction has to reload all 
> > > beans involved 
> > > >>>>> from database (and you know accessing database kills the 
> > > >>>>> performance).
> > > >>>>>
> > > >>>>>> After examining the codes and a few talks with Bill, I don't
> > > >>>>>>
> > > >>>>> think I am capable to modify the codes to support Option B. Any 
> > > >>>>> volunteer is willing to do that?
> > > >>>>>
> > > >>>>>> Thanks and Regards,
> > > >>>>>> Tom
> > > >>>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>> -------------------------------------------------------
> > > >>>>> This sf.net email is sponsored by:ThinkGeek
> > > >>>>> Welcome to geek heaven.
> > > >>>>> http://thinkgeek.com/sf 
> > > >>>>> _______________________________________________
> > > >>>>> Jboss-development mailing list 
> > > >>>>> [EMAIL PROTECTED]
> > > >>>>> https://lists.sourceforge.net/lists/listinfo/jboss-development
> > > >>>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> -------------------------------------------------------
> > > >>>> This sf.net email is sponsored by:ThinkGeek
> > > >>>> Welcome to geek heaven.
> > > >>>> http://thinkgeek.com/sf 
> > > >>>> _______________________________________________
> > > >>>> Jboss-development mailing list 
> > > >>>> [EMAIL PROTECTED]
> > > >>>> https://lists.sourceforge.net/lists/listinfo/jboss-development
> > > >>>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>>
> > > >>> -------------------------------------------------------
> > > >>> This sf.net email is sponsored by:ThinkGeek
> > > >>> Welcome to geek heaven.
> > > >>> http://thinkgeek.com/sf 
> > > >>> _______________________________________________
> > > >>> Jboss-development mailing list 
> > > >>> [EMAIL PROTECTED]
> > > >>> https://lists.sourceforge.net/lists/listinfo/jboss-development
> > > >>>
> > > >>>
> > > >>>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> -------------------------------------------------------
> > > >> This sf.net email is sponsored by:ThinkGeek
> > > >> Welcome to geek heaven.
> > > >> http://thinkgeek.com/sf 
> > > >> _______________________________________________
> > > >> Jboss-development mailing list 
> > > >> [EMAIL PROTECTED]
> > > >> https://lists.sourceforge.net/lists/listinfo/jboss-development
> > > >
> > > >
> > > >
> > > 
> > > 
> > > 
> > > 
> > > -------------------------------------------------------
> > > This sf.net email is sponsored by:ThinkGeek
> > > Welcome to geek heaven.
> > > http://thinkgeek.com/sf 
> > > _______________________________________________
> > > Jboss-development mailing list [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/jboss-development
> > 
>N±µŠ²²u†Y¢¢’½¶þžz›%±z™™ŠŠnu–zŠ²q®z¶þ¶º~zþ¶Š±z™
> > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > Jboss-development mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> > 
>                      +, 隊X'u޼Nggr剞zH^j m (                 
>   n, zZ) x%Inퟝ, zZ) X  y + zmض b q  +-떳b ~n, ׯzZ)
> 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to