Kbase P122892: FIND LAST finds wrong record if there's a locking conflict on the table
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/03/2007 |
|
Status: Unverified
FACT(s) (Environment):
OpenEdge 10.1A
SYMPTOM(s):
Multiple sessions accessing the same database table
Two sessions trying to lock the same record in table
One of the two sessions is creating new record in same transaction as record locking
Third session performs FIND LAST operation
Record found by third session holds unexpected values
CAUSE:
Bug# OE00146112
CAUSE:
Starting with OpenEdge 10.1A, to handle transactions more efficiently a savepoint mechanism was implemented.
Under certain conditions, this causes new records to be written to the database prematurely, so when they are fetched the wrong data is returned.
FIX:
Upgrade to OpenEdge 10.1B or later release.
Workaround:
Specify the -nosavepoint startup parameter for *all* clients. This disables the savepoint mechanism and reverts to pre-10.1A behavior.