Hello jeff, please, just have a look to my last mail...
I'd like to have your opinion.

Thanks,

PHiL.

> -----Message d'origine-----
> De : Jeff Schnitzer [mailto:[EMAIL PROTECTED]]
> Envoyé : lundi 14 mai 2001 22:22
> À : Orion-Interest
> Objet : RE: DeadLock with 25 users SOLVED
>
>
> I'm hardly an expert in this matter, but I found that enabling
> transactions indiscriminately is a quick recipe for deadlock.
>
> Orion uses pessimistic concurrency, so each transaction grabs an
> exclusive lock on every entity used.  Unless your data model is simple
> or you always access resources in the same order in every operation,
> it's pretty likely that you're going to deadlock with any load.
>
> In my case, my data model and operations are complex enough
> that any two
> concurrent users would almost always cause deadlock.  I had set all
> transaction attributes to "Required" even though I don't really need
> transactions.  Setting everything to "NotSupported" eliminated the
> deadlocks.
>
> From this it seems pretty clear to me that transactional
> logic needs to
> be planned carefully into each operation which needs it.
> Even a slight
> mistake will cause deadlock exceptions given sufficient load.
>
> Or am I missing something?
>
> Jeff
>
> > -----Original Message-----
> > From: Nick Newman [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, May 14, 2001 8:32 AM
> > To: Orion-Interest
> > Subject: RE: DeadLock with 25 users SOLVED
> >
> >
> > Philippe,
> >
> > It's Monday morning. Could you please help my fuzzy brain by
> > explaining WHY
> > it is "so stupid" to set all transactions to "required". I'm
> > afraid it
> > sounds reasonable to me...  perhaps I don't understand what
> > you mean by
> > "even when reading in the database".
> >
> > Thanks,
> > Nick
> >
> >
> > At 12:43 PM 5/14/01 +0200, you wrote:
> > >Hi,
> > >
> > >Thanks Johan and Kirk, you are both right.
> > >Those 2 parametres are usefull for tuning the app server.
> > >But pay attention, I've used the "timeout" (not
> > "inactivity-timeout") under
> > >1.3.8, it doesn't work, need to upgrade to 1.4.7 for get
> > this working.
> > >
> > >I've discover another one:
> > >In the file orion-ejb-jar.xml you could add this option
> > ligne: call-timeout
> > >= "n"
> > >n = number of millisec for waiting on the EJB's interface
> > reply, 0 for
> > >infinite.
> > >
> > >My principal error with this "deadlock" was to set ALL
> > transactions to
> > >"required", even when reading in the database... So stupid ;-)
> > >
> > >My bench show that 100 users could access to our app wihtout
> > crashing! I'll
> > >try to bench the same .EAR under BEA...
> > >
> > >Regards,
> > >
> > >Philippe PAGET.
> > >
> > > > -----Message d'origine-----
> > > > De : Johan Fredriksson
> > [mailto:[EMAIL PROTECTED]]
> > > > Envoyé : lundi 14 mai 2001 10:23
> > > > À : Orion-Interest
> > > > Objet : Re: DeadLock with 25 users
> > > >
> > > >
> > > > Or decreasing the
> > > >
> > > > inactivity-timeout="10"
> > > >
> > > > so the resource is more quickly released back to the container ?
> > > >
> > > >
> > > > Johan
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From: "KirkYarina" <[EMAIL PROTECTED]>
> > > > To: "Orion-Interest" <[EMAIL PROTECTED]>
> > > > Cc: "PHiL" <[EMAIL PROTECTED]>
> > > > Sent: Friday, May 11, 2001 9:10 PM
> > > > Subject: Re: DeadLock with 25 users
> > > >
> > > >
> > > > > I believe this is discussed in past; see the archives (
> > > > >
> > > >
> >
> http://www.mail-archive.com/orion-interest%40orionserver.com/ ).  Try
> > > > > increasing max-connections in data-sources.xml
> > > > >
> > > > > Kirk Yarina
> > > > >
> > > > > At 09:13 AM 5/11/01 +0200, you wrote:
> > > > > >Hello, we just start some benchs with 25 fake users,
> > here is the
> > > > exeption:
> > > > > >Those 25 users try to access the same EJB. Any idears, or
> > > > points to check
> > > > in
> > > > > >our code to fix this kind of errors ???
> > > > > >
> > > > > >Thanks.
> > > > > >
> > > > > >Philippe.
> > > > > >
> > > > > >
> > > > > >ERROR | 09/05/2001 15:59:01:46 | NodeBmEJB :
> > > > findNode(NodePK pk) | pk =
> > > > (id
> > > > > >= 0, space = WA17, componentName = news35) |
> > > > > >Exception message: Transaction was rolled back: timed out,
> > > > while waiting
> > > > for
> > > > > >(id = 0, space = WA17, componentName = news35) (started at
> > > > Wed May 09
> > > > > >15:58:25 GMT+01:00 2001, terminated at Wed May 09 15:59:01
> > > > GMT+01:00
> > > > 2001)
> > > > > >com.evermind.server.DeadlockException: Transaction was
> > > > rolled back: timed
> > > > > >out, while waiting for (id = 0, space = WA17,
> > > > componentName = news35)
> > > > > >(started at Wed May 09 15:58:25 GMT+01:00 2001, terminated
> > > > at Wed May 09
> > > > > >15:59:01 GMT+01:00 2001)
> > > > > >         at
> > > > com.evermind.server.ejb.AbstractEJBObject.startCall(JAX)
> > > > > >         at
> > > > >
> > > > >NodeHome_EntityHomeWrapper3.findByPrimaryKey(NodeHome_EntityH
> > > > omeWrapper3.ja
> > > > v
> > > > > >a:195)
> > > > > >         at
> > > > >
> > > > >com.stratelia.webactiv.util.node.control.NodeBmEJB.findNode(N
> > > > odeBmEJB.java:
> > > > 5
> > > > > >0)
> > > > > >         at
> > > > >
> > > > >com.stratelia.webactiv.util.node.control.NodeBmEJB.getFrequen
> > > > tlyAskedChildr
> > > > e
> > > > > >nDetails(NodeBmEJB.java:252)
> > > > > >         at
> > > > >
> > > > >NodeBm_StatelessSessionBeanWrapper1.getFrequentlyAskedChildre
> > > > nDetails(NodeB
> > > > m
> > > > > >_StatelessSessionBeanWrapper1.java:1677)
> > > > > >         at
> > > > >
> > > > >com.stratelia.webactiv.news.control.NewsSessionControl.getArc
> > > > hiveList(NewsS
> > > > e
> > > > > >ssionControl.java:315)
> > > > > >         at
> > > > >
> > > > >__jspPage1_news_jsp_news_jsp._jspService(__jspPage1_news_jsp_
> > > > news_jsp.java:
> > > > 4
> > > > > >73)
> > > > > >         at
> com.orionserver.http.OrionHttpJspPage.service(JAX)
> > > > > >         at com.evermind.server.http.HttpApplication.xu(JAX)
> > > > > >         at com.evermind.server.http.JSPServlet.service(JAX)
> > > > > >         at com.evermind.server.http.d4.s3(JAX)
> > > > > >         at com.evermind.server.http.d4.s1(JAX)
> > > > > >         at com.evermind.server.http.d4.forward(JAX)
> > > > > >         at com.evermind.server.http.ew.forward(JAX)
> > > > > >         at
> > > > >
> > > > >com.stratelia.webactiv.servlets.ComponentRequestRooter.doPost
> > > > (ComponentRequ
> > > > e
> > > > > >stRooter.java:153)
> > > > > >         at
> > > > >
> > > > >com.stratelia.webactiv.servlets.ComponentRequestRooter.doGet(
> > > > ComponentReque
> > > > s
> > > > > >tRooter.java:172)
> > > > > >         at
> > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:190)
> > > > > >         at
> > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:302)
> > > > > >         at
> > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:329)
> > > > > >         at com.evermind.server.http.d4.s3(JAX)
> > > > > >         at com.evermind.server.http.d4.s1(JAX)
> > > > > >         at com.evermind.server.http.eg.s9(JAX)
> > > > > >         at com.evermind.server.http.eg.dr(JAX)
> > > > > >         at com.evermind.util.f.run(JAX)
> > > > >
> > > >
> > > >
> > >
> >
> >
> >
>



Reply via email to