Icon View Incident Report

Serious Serious
Reported By: Neil Anderson
Reported On: 12/5/2005
For: Version 4.22 Build 2
# 2142 Navigation with an Active Filter Can Cause Lockup When Other Sessions Rapidly Edit/Delete Records

I have a problem that boils down to having 2 threads accessing the same table with different sessions and databases. One thread is editing the table, the other is simply applying filters to get various record counts. I've been battling 10227 errors in the threads, and the source of it has turned out to be the filtering thread freezing. I converted the TDBISAMQuery back to a filtered TDBISAMTable and the 10227 errors continued to occur. Today I removed the Filter completely and have not had any problems.


Comments Comments
The problem was caused by the engine attempting to navigate on an empty index page, which was caused by index key deletions occurring rapidly on the same index page from another thread. The result was an endless loop, which caused a read lock on the table to be held indefinitely, and subsequently caused the write lock error for the other thread(s).


Resolution Resolution
Fixed Problem on 12/10/2005 in version 4.22 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 VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source

Image