Bugs item #910911, was opened at 2004-03-06 14:33
Message generated for change (Comment added) made by loubyansky
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=910911&group_id=22866

Category: JBossServer
Group: v3.0 Rabbit Hole
Status: Closed
Resolution: Invalid
Priority: 5
Submitted By: Konstantin Sobolev (eprst)
Assigned to: Bill Burke (patriot1burke)
Summary: EntitySynchronizationInterceptor bug(?)

Initial Comment:
Hi all,

I've encountered a problem with jboss 3.0.7, but
according to CVS
the same would be in latest release. I've got BMP
entity bean, standard
configuration. Two clients access the same bean
instance without
transaction context. I see the following in the log:

client1: EntitySynchronizationInterceptor.invoke,
ctx.isValid == false
client1: ejbLoad started
client1: ejbLoad finished, ctx.isValid == false
client2: EntitySynchronizationInterceptor.invoke,
ctx.isValid == false
client2: ejbLoad started
client1: ctx.isValid == true
client1: business method

Here my business method fails because ejbLoad in
another thread (client2) is modifiyng bean's internal
state. I thought that container should
serialize calls to the same bean instance, but I'm not
sure that
this is the only possible spec. interpretation. As for
me, I'd put ejbLoad call in
EntitySynchronizationInterceptor.invoke into
synchronized(ctx) block.

----------------------------------------------------------------------

>Comment By: Alexey Loubyansky (loubyansky)
Date: 2004-03-06 23:15

Message:
Logged In: YES 
user_id=543482

Our testsuite, specifically deadlock test, tests entity
beans with NotSupported. As I found today, this test in fact
fails for 3.2.3 release on multi-cpu boxes (dedicated74)
just because of concurrent loading. I fixed this bug in
3.2.4RC1 by synchronizing on EntityEnterpriseContext in
EntitySynchronizationInterceptor.


----------------------------------------------------------------------

Comment By: Adrian Brock (ejort)
Date: 2004-03-06 15:04

Message:
Logged In: YES 
user_id=9459

This is not a bug. The spec does not define behaviour of
entity beans
outside a transaction. It does suggest possible solutions,
including
starting a transaction for every request.
You will find in 3.2.3 the ReentranceInterceptor serializes
access
outside a transaction provided your bean is not reentrant.
The 3.2.3 behaviour includes deadlock detection.
Your solution has potential undetected deadlocks.

Regards,
Adrian

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=910911&group_id=22866


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to