Consultor Eletrônico



Kbase P184788: Error 2624 experienced in a multiple user Citrix environment
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   4/27/2011
Status: Unverified

SYMPTOM(s):

Error 2624 experienced in a multiple user Citrix environment

<file-name> in use by <user> on <tty>. Wait or choose CANCEL to stop. (2624)

Error 2624 goes away after the lock is released

Users click cancel which causes the prowin32.exe to run on the background on the terminal server

FACT(s) (Environment):

PRGRS_NATIVE_LOCKWAIT is set to 200, no client lock wait is set
Windows
OpenEdge 10.2B
MS SQL DataServer

CAUSE:


The error 2624 is a result of native lockwait timeout expires on the server when a user experiences lock condition on the server resource and not able to acquire the lock till the period of native lockwait. MSS DataServer receives LOCK error from the driver that gets translated into client error 2624. The error 2624 will keep on coming at a regular interval of PRGRS_NATIVE_LOCKWAIT value till the client lock wait time out expires which is 1 minute by default.

FIX:

Adjust PRGRS_NATIVE_LOCKWAIT to a larger value.
To minimize effect of error 2624, add error handling code so when users click on cancel, the code will handle it gracefully, instead of prowin32 going into background.
for example,
FIND FIRST table WHERE field = ...
EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
IF NOT AVAILABLE table AND LOCKED table
THEN MESSAGE "The record is locked".

REPEAT ON STOP UNDO,LEAVE:
FIND FIRST table WHERE field = ... EXCLUSIVE-LOCK NO-ERROR.
IF AVAIL customer THEN DO:
FIND CURRENT customer NO-LOCK.
MESSAGE "table is not locked".
END.
ELSE MESSAGE "table does not exist".
LEAVE.
END.
Or, migrate from trigger-based RECID support to computed column based RECID support. For more information, please refer P185185, How do I migrate RECID-trigger mechanism to RECID computed column mechanism?