Hi,

I've run into a problem while trying to move an application from a single server to a 
clustered environment.

The application uses a BMP entity bean, where it first calls a finder method which 
returns some instances of the bean (using an SQL select query) , and then the 
application takes the first returned bean, changes some attributes (using a PL/SQL 
stored procedure) and uses these attributes further on.

To make it a bit more understandable, let's say the bean has an attribute X. The 
finder returns all bean instances (table rows) where X=0. Then the application sets X 
to 1 (marks it as used) for the first retrieved instance and continues using this bean 
(assuming it has the exclusive access to it since concurrent processes will not find 
it because of X=1).

This works fine on a single node, even under high load. However, when I change to the 
cluster (2 nodes for now), the following happens. When the same procedure runs on both 
cluster instances roughly at the same time, both first find the same beans, take the 
first bean (which is the same) and then update it. There is no concurrent access or 
other exception, so both processes think they have unique access to the bean. Further 
on, this causes some trouble, as you might guess.

I think, that in the non-clustered environment, JBoss locks the entity bean as soon as 
the first transaction accesses it, thus preventing the other transactions from reading 
it. In the clustered environment, the two JBoss instances do not prevent this, since 
they only see their own entity instances. 

Now I'm wondering how to get out of this situation. Will I need to work around this 
with some clever SQL, or is there a way to make JBoss do the entity locking (as I 
imagine it) in the cluster? Or something else? I know that the entity cache will be 
available from JBoss 4 only.

Btw, I'm using JBoss 3.2.4, the datasource is local, isolation level is 
Repeatable_Read, and commit option is C. What is the difference between "Standard BMP 
EntityBean" and "Clustered BMP EntityBean"?

Thanks for your help
Martin

View the original post : 
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3845225#3845225

Reply to the post : 
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3845225


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to