Kbase P21168: Share-lock on Progress database is not released by WebSpeed agents
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/8/2008 |
|
Status: Verified
SYMPTOM(s):
Share-lock on Progress database is not released by WebSpeed agents
FACT(s) (Environment):
All WebSpeed agents become available after running the program
Running a few persistent procedures that have a several functions on each of the persistent procedures.
The functions in the persistent procedures are used to update the database records.
WebSpeed 3.1x
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
When the persistent procedures are run and Webspeed agents get the results set, the Webspeed agent relay the information to the messenger and become in available state from the busy state. Since the Persistent procedure was run, it is somehow staying in the memory, and since functions were doing the updates in that persistent procedure, some of the data in the table are being locked (SHARE-LOCK) by the functions. This is not a good programming practice to use functions to update the database records. Changing the programs to use internal procedures to update the database records and use of some other methods such as dynamic query should resolve the record locking issue.
FIX:
Change the program logic and use internal procedure or by calling a separate procedure and destroying the procedure after the transaction is done should resolve the record locking issue.