Consultor Eletrônico



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.