Kbase P7399: Error 'Can't find table lock for table number' with SQL92 clients
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  26/08/2009 |
|
Status: Verified
SYMPTOM(s):
Error "Can't find table lock for table number" with SQL-92 clients
SYSTEM ERROR: Can't find table lock for table number <table number> recid <recid> owner <owner number>, chain <chain number>
Database was started up with the -spin parameter
FACT(s) (Environment):
Progress 9.1C
Progress 9.1D
All Supported Operating Systems
OpenEdge Category: Database
CAUSE:
Bug# OE00079010
CAUSE:
Table locks are not enabled by default and are enabled only as soon as an SQL92 client accesses a database table. 30 minutes after there has not been any activity from any SQL92 client, table locks are switched off again.
The "Can't find table lock for table number" error is generated by a race condition between the broker switching off table locks, and a 4GL client trying to acquire a record lock at the same time.
This error does not occur if the -spin parameter is not specified at database .startup.
FIX:
Upgrade to Progress 9.1D02 or later.
If upgrade to 9.1D02 is not possible the following workarounds are available:
1. Have an SQL92 client connect to the database and lock a record or table every 10-15 minutes to ensure that table locks will not be disabled.
2. Turn off -spin parameter for the database. Be aware that removing -spin from the database server might cause a performance degradation on the system.