lock wait time out

muralih83

New Member

Hi All,

I am newly working on progress database administrator. Last 3 days on words i am facing "Lock wait timeout of 1800 seconds expired (8812) " How to reslove this issue. Can anybody please help me to resolve this issue.


Thanks in advance

Murali Hari
muralih83@gmail.com
 

rzr

Member
in the program that creates this error, check how the "locking" logic is implemented... use NO-LOCK as default and when updating read record with EXCLUSIVE-LOCK NO-WAIT NO-ERROR. If recod is not avail then take necessary action ....
 

rstanciu

Member
this is not a error ... somebody who waits to close the application, the time out can be tunned with a client startup parameter, the default value is 30 minutes. I sugest you to don't whory about this,
-lkwtmo
 

rzr

Member
my thought was that any process should not wait *too long* for the other resource to be available to continue it's processing... it could either error out or log the info and continue processing with next available resource.
 

TomBascom

Curmudgeon
I am newly working on progress database administrator. Last 3 days on words i am facing "Lock wait timeout of 1800 seconds expired (8812) " How to reslove this issue. Can anybody please help me to resolve this issue.

Didn't you ask this question on PEG just the other day?

You got some pretty good answers there.
 

rzr

Member
Tom - could you please point me to reference of this post on PEG.. can't find it there...
 

TomBascom

Curmudgeon
It started on the DBA sub-list on July 22nd with:
Hi Peggers,

How to approach for the below log issue? What are the steps i need to
take? Someone please guide me on this. I am new to progress DBA.

> 10:30:07 Usr 80: Lock wait timeout of 1800 seconds expired (8812)
Thanks,

Shiva.

I just find it fairly odd when the same relatively obscure topic pops up in two forums within days... (I haven't checked to see if it is also popping up on "Communities")
 

TomBascom

Curmudgeon
Anyhow, to answer the question...

There is nothing that you can do after the fact. The message is just saying that a session was blocked on a record lock for 1,800 seconds. It never got the lock and, as a result, the session ended. You know the USR number so, in theory, you could trace back through the .lg file and figure out who that was. You might try asking them what they were doing and seeing if that leads you to the code that had the problem (good luck!).

On the other hand... if this is occurring regularly (the original post says it has been going on for 3 days) then:

1) What changed? Was some new code released 3 days ago? Is someone using some option in the system that was never used before? Has there been a change in the data that might lead to longer processing times? etc, etc...

2) Try monitoring "blocked sessions". You can do this in PROMON: R&D, Status, Processes/Clients, Blocked Clients. But that's a bit of a PITA, I prefer ProTop ;) http://dbappraise.com.protop.html That should show sessions that are blocked waiting on record locks before they time out. I wouldn't worry about any that wait less than 5 minutes at this point. You're looking for stuff that might timeout. Once you know who they are you can start drilling in to what they are waiting for and why. (ProTop will tell you what table and which RECID they are waiting on... PROMON cannot do that.)

2a) This is an "advanced topic" but if you are running 10.1C or higher you can also turn on client statement caching (in PROMON) and start tracing which line of code in what program is involved with each db access. If you combine that with observations of the blocked sessions you will have a much easier time getting to the bottom of the problem.
 
Top