[Progress Communities] [Progress OpenEdge ABL] Forum Post: How does client-server ABL recover from locked database record?

Status
Not open for further replies.
D

dbeavon

Guest
On two occasions today I looked in PASOE and noticed that an ABL session was "stuck" waiting on a lock. Ie. my impression is that the ABL logic in the PASOE session had reached a point where a dependency on a lock couldn't be satisfied, and the logic had to wait. But once the lock was clearly available again, the PASOE session would *not* proceed. (The lock should have become available based on the fact that there were no remaining active transactions in the system other than that PASOE session.) So what is it that would allow an ABL session to "wake up" once a record lock becomes available? I believe there must be some sort of a polling, along with some sort of network message that is sent on an interval (perhaps based on Nmsgwait ?) I'd like to have a way to troubleshoot this when it happens again. Better yet, I'd like to avoid the problem altogether. I was considering using STOP-AFTER so that session won't need to wait indefinitely for locks to become available. But when I was reading the KB about stop-after, ( Progress KB - What does the STOP-AFTER expression do? ) I noticed that there is a caveat that says the feature won't work when the "session is blocked waiting for a network message ". Any pointers would be very much appreciated. This information is probably "client-server 101". But for some reason I have never come across this information.

Continue reading...
 
Status
Not open for further replies.
Top