aditi1
asked on
concurrent access deadlocks
I am using Work objects (asynch beans) running inside websphere app server 6.0. and hibernate as O/R layer.
There are about 80 Work objects, querying and updating tables in DB2 simultaneously.
I have set the lock percentage parameter to 100% for this database and I am sure there is no concurrent access to the same records by more then one thread because each Work object is assigned a different group of records.
Still I get deadlocks after a the application is running for a while (minutes).
Will appreciate any ideas.
There are about 80 Work objects, querying and updating tables in DB2 simultaneously.
I have set the lock percentage parameter to 100% for this database and I am sure there is no concurrent access to the same records by more then one thread because each Work object is assigned a different group of records.
Still I get deadlocks after a the application is running for a while (minutes).
Will appreciate any ideas.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Hi Adi,
I just read a bit more on the MAXLOCKS parameter, because I wasn't sure what would actually happen when MAXLOCKS is set that high. The article suggests that this is a find-a-happy-medium parameter. Setting too this too low will cause frequent lock escalations among applications only holding a few locks, and setting it too high causes the same effect with the last n percent of applications trying to request only a few locks, since there's not enough room to hold all the row locks they need.
Here's the help file on that parameter:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0000268.htm
Did monitoring show conclusive results?
- Keith
I just read a bit more on the MAXLOCKS parameter, because I wasn't sure what would actually happen when MAXLOCKS is set that high. The article suggests that this is a find-a-happy-medium parameter. Setting too this too low will cause frequent lock escalations among applications only holding a few locks, and setting it too high causes the same effect with the last n percent of applications trying to request only a few locks, since there's not enough room to hold all the row locks they need.
Here's the help file on that parameter:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0000268.htm
Did monitoring show conclusive results?
- Keith
ASKER
Hi Keith,
I'm not sure I understand the behaviour you described - I will look at the article see if it makes any sense.
I believe using maxlock of 100% isnt a normal configuration, I just set it to this extreme to see if I still get the same problems.
Anyway we are still working on the monitoring and I will have a pro DBA with me for that so I hope we will figure this out.
Thanks!
-Adi
I'm not sure I understand the behaviour you described - I will look at the article see if it makes any sense.
I believe using maxlock of 100% isnt a normal configuration, I just set it to this extreme to see if I still get the same problems.
Anyway we are still working on the monitoring and I will have a pro DBA with me for that so I hope we will figure this out.
Thanks!
-Adi
ASKER
Regards,
Adi