Icon View Incident Report

Serious Serious
Reported By: Michael Tang
Reported On: 8/7/2010
For: Version 4.29 Build 4
# 3395 Dead Sessions Not Clearing Record Locks When TDBISAMDatabase.KeepTablesOpen is Enabled

My client keeps geting the DBISAM Error "DBISAM_RECLOCKFAILED (10258)". These occurs when my application terminate adnormally during editing of a record. And they run the application and edit the same record again. I told them to remove all dead sessions using "SrvAdm" before continue. This works fine except that ALL users must exit the application (i.e. Disconnect from the DBSrvr). Any user remain connected during dead session removal will cause the records to stay locked. I try to use 'DBSys' Version 4.29 (4.29 Build 4) to reproduce the same scenerial, but fail. Therefore, I can only assume that I must have done something I shouldn't have or that DBSys does something differently (e.g. setting etc.).

My understanding is that all resource allocated to a session would be released once a session is killed off. So, I have no idea why the the record lock should persists after all dead session id cleared off. For simplicity, I use the same user id to access the DBServer. I don't know whether this would make any difference.


Comments Comments and Workarounds
The issue was with the TDBISAMDatabase.KeepTablesOpen property being set to True, which would cause the problem, and the workaround was to set KeepTablesOpen to False.


Resolution Resolution
Fixed Problem on 3/11/2011 in version 4.30 build 3


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image