Did this article resolve your question/issue?



Schema lock held by a user that is no longer in the database


TitleSchema lock held by a user that is no longer in the database
URL Nameschema-lock-held-by-a-user-that-is-no-longer-in-the-database
Article Number000119541
EnvironmentProduct: OpenEdge
Version: 11.7.x
OS: Windows 2012 R2
Question/Problem Description
Schema lock held by a user that is no longer in the database
Steps to Reproduce1. Start DB on DB server
2. Start client on client server and connect to DB remotely.
Run code:
for each customer exclusive:
update name.
3. Cut the network
If using VM, the network interface can be disabled.

4. New client trying to hold a lock on this table will get error 2624.
5. promon will show the transaction is still active and FWD.
Clarifying Information
No user disconnected message in the database log file
Promon shows the transaction is still active and status is FWD

Error Message<file-name> in use by <user> on <tty>.  Wait or choose CANCEL to stop. (2624)
Defect/Enhancement Number
This is expected behavior.
Once the network connection from the client to the DB dropped(no RST was sent from client machine nor received on the DB machine).
Database machine still recognizes this connection as valid before keepalive timed out. Therefore the transaction will show as active and FWD.

The TCP timeout(KeepAliveInterval) can be reduced.
Reference Microsoft documentation:

Please consult system administrator and network administrator before making the change. 
Last Modified Date1/3/2020 1:58 PM
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.