Salesforce

Remote Server fails to undo a transaction twice 3728 815 leaving an orphaned remote client in shared memory

« Go Back

Information

 
TitleRemote Server fails to undo a transaction twice 3728 815 leaving an orphaned remote client in shared memory
URL Nametransaction-undo-fails-twice-3728-815-leaving-an-orphaned-remote-client-in-shared-memory
Article Number000117807
EnvironmentProduct: OpenEdge
Version: 11.0 to 11.7.5 inclusive
OS: All supported platforms
Question/Problem Description
After a client session is terminated, the remote Server fails to undo a transaction twice with errors 3728 815 leaving an orphaned remote client in shared memory.

The double-undo failure leaves a dead remote client user control which cannot be disconnected from shared-memory resulting in bi growth from the bi cluster that still contains this transaction's notes.

stack trace from _mprosrv reads:
dsmFatalMsgnCallBack
rmUndoLogicalDelete
rlundo

rlrej
tmrej
lkresync
dsmUserReset
..
mdend
drexit
msgout
msgnCB
msgCB
dsmFatalMsgnCallBack
lklocky
lkrglock
rmRecordUpdateIt
rmUndoLogicalDelete
rlundo

rlrej
tmrej
dsmTransaction
Steps to Reproduce
Clarifying Information
SRV 335: (-----) lklocky: usrnum = 5464
SRV 335: (-----) lklocky: wait = 1
SRV 335: (-----) lklocky: waitArea = 14
SRV 335: (-----) lklocky: latchwaked = 0
SRV 335: (-----) lklocky: usrwake = 1
SRV 335: (-----) lklocky: wlatchid = 0
SRV 335: (-----) lklocky: task = 1730072911
SRV 335: (-----) lklocky: usrtyp = 6984
SRV 335: (-----) lklocky: usrinuse = 1
SRV 335: (-----) lklocky: usrtodie = 0
SRV 335: (-----) lklocky: resyncing = 0
SRV 335: (-----) lklocky: db_resyncing = 0
SRV 335: (3728)  SYSTEM ERROR: lklocky: forgot to wait, recid 678125826
SRV 335: (2252)  Begin transaction backout. 
SRV 335: (815) SYSTEM ERROR: Error in undo of record delete 
SRV 335: (739) Logout usernum <20>, userid <>, on tty batch
SRV 335: (2520) Stopped.
Error MessageSYSTEM ERROR: lklocky: forgot to wait, recid <recid> (3728)
SYSTEM ERROR: Error in undo of record delete (815)
Defect NumberOCTA-11908
Enhancement Number
Cause
Error 3728 caused user disconnect and user's work to be rolled back
The second rollback error 815 is thrown due to not clearing up the flag in the record manager undo structure (rmundo) during the first undo
Resolution
Fixed version(s): 12.1.0.0, 11.7.6.0
Workaround
Shut the database down at the next earliest convenience.

The longer the database is left running, the longer bi recovery time will take. For OpenEdge 11.6.1 or later databases when the database is next started, first truncate the bi file with the -crStatus and -crTXDisplay parameters before re-starting multi-user. For further information refer to Article:
Notes
While the fix assures the user entries in memory are cleaned up, the watchdog feature has been further enhanced to detect dead client/server connections where there is no longer a server control in memory for its server.
Refer to Article:
Keyword Phrase
Last Modified Date12/16/2023 12:55 AM

Powered by