Consultor Eletrônico



Kbase 37399: Error 'Can't find table lock for table number' with SQL92 clients
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   02/04/2001
Solution ID: P7399

FACT(s) (Environment):

Progress 9.1C

SYMPTOM(s):

Error "Can't find table lock for table number" with SQL92 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

CAUSE:

Bug 20020705-023

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 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.