View previous topic :: View next topic |
Author |
Message |
lacoe1 Beginner
Joined: 24 Feb 2005 Posts: 33 Topics: 17
|
Posted: Thu Oct 14, 2010 10:46 pm Post subject: -911 deadlock |
|
|
We have a created a smaller version (less data) of our Production database of 170+ tables for the purpose of training new users. This is our Training environment. In a class of 15+ students, when the instructor and students fill up data on their individual online screens together and all hit enter at the same time to complete a CICS transaction (which inserts record), only 1 or 2 succeed and the rest gets -911 deadlock or timeout. We are assuming since its a small database everyone is trying to access the same page at the same time.
In Production where users are located at different geographical locations may or may not execute the same transaction and hit ENTER at the same time, plus the database is much bigger so they are accessing different pages. So may be we do not have that issue.
To find a solution
DBA tried to change from Page lock to Row lock
DBA tried to increase the Freespace from 50% to 90% to have less rows per page
CICS Admin tried to single thread the CICS transactions one at a time
None of these improved the condition. The instructor does not like to stagger the ENTRY, means does not like to ask students to hit ENTER one at a time.
Current recommendations are to review the code and introduce retry logic, move all production data to Training environment which may or may not spread the data around.
Any other suggestions that can quickly fix this situation? |
|
Back to top |
|
|
CZerfas Intermediate
Joined: 31 Jan 2003 Posts: 211 Topics: 8
|
Posted: Fri Oct 15, 2010 3:12 am Post subject: |
|
|
The single threading for the CICS transaction should do the trick.
All other actions are good for "unavailable ressource" conditions resulting in a timeout. To avoid deadlock conditions means, that the read and write logic in the code has to be reworked. Normaly there is no "quick releave" for such conditions but to single file the incoming work.
regards
Christian |
|
Back to top |
|
|
lacoe1 Beginner
Joined: 24 Feb 2005 Posts: 33 Topics: 17
|
Posted: Fri Oct 15, 2010 1:50 pm Post subject: |
|
|
Thanks for your response. The single thread did work, currently we are setup for Single Thread for particular Transactions only. Worried if it will slow down the Training environment if a blanket command is issued for all transactions. |
|
Back to top |
|
|
papadi Supermod
Joined: 20 Oct 2009 Posts: 594 Topics: 1
|
Posted: Fri Oct 15, 2010 3:51 pm Post subject: |
|
|
Quote: | Worried if it will slow down the Training environment if a blanket command is issued for all transactions. | This will depend on how long each transaction runs / how much database activity it does / how many transactions have to wait.
It would be good thing to identify where the deadlock occurs. Then you might know how much work it would be implement a better solution.
I suspect that it is just waiting to happen in the Production environment (usually, the problem is hidden in smaller testing and only shows itself when the full size is used in Production 8) ). _________________ All the best,
di |
|
Back to top |
|
|
|
|