?
Solved

PROGRESS 8.3A database

Posted on 2000-01-10
3
Medium Priority
?
412 Views
Last Modified: 2008-03-10
I am using PROGRESS 8.3A on a Sun machine running Solaris 2.5.1. Sometimes I get the following entries in the PROMON's "Record Locking Table" option.

Record Locking Table:
Usr Name     Chain #    Rec-id Lock Flags
260 UOPDMKIA REC  2285  13464166 SHR
201          REC  2606  80900451 EXCL U  Q
245          REC  2606  80900451 EXCL U  Q
233 B5ZAXIPX REC  2607  84990306 SHR
232 B5CSLIPX REC  2705  73007265 EXCL

Whenever entries with Flag "U Q" appears, my application users will not be able to log in to the database. Usually, I have to kill these users to solve the problem.

Can anyone tell me what does the flag "U Q" means, what causes it & how to solve this problem ?

Thanks.
0
Comment
Question by:jackyleee
  • 2
3 Comments
 

Accepted Solution

by:
hakanils earned 200 total points
ID: 2366089
The U flag means that the user has requested a lock upgrade from share to exclusive but is waiting for another process that holds a conflicting lock.

The Q flag represents a queued request for a lock already held by another process.

You have locking problems. Probably you got some kind of deadlock (deadly embrace). If two users have read the same record with share lock. Both users wants to update the record and Progress automaticly upgrades the lock to exclusive then you can get problems.

When I have locking problems I think it's easier to see it in the User Control meny option in Progress Monitor. Look at the Wait and column there. The wait column tells what it is waiting for. I think you can se Monitor information in the System Administration Reference book. This was true for version 7, but I can't tell you for version 8 though I haven't used it.

In multiuser environments I strongly recommend you NOT to use share locking. You almost always know if you are going to update the record or not. If you are going to update the record then read it with exclusive lock otherwise read it with no-lock.
0
 

Author Comment

by:jackyleee
ID: 2387379
Is there any other way to solve this problem other than changing my application programs ?
0
 

Expert Comment

by:hakanils
ID: 2387845
You don't have the source code or what?

If you have the source code you have to find the statement that reads records and share there. Not the whole application.

I have no solution for you. The only flag a know that is changing the locking behavior is the -NL flag or No-Lock flag. It changes the default locking from share-lock to no-lock. But I think there is no hope for your problem. You can always try, but probably you get an error message when there is an update in the database.
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating a Cordova application which allow user to save to/load from his Dropbox account the application database.
How much do you know about the future of data centers? If you're like 50% of organizations, then it's probably not enough. Read on to get up to speed on this emerging field.
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses

601 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question