Microsoft Vista Locks Out FPUTFGET
Two independent issues affect FairCom's multi-user standalone operational model (FPUTFGET) which relies on the underlying operating system to ensure file locking integrity. This contrasts with FairCom's server-based models where locking is independently and solely maintained by the c-tree Server. These issues manifest in either of the following scenarios:
- In environments where all machines accessing the data are using Windows Vista, it is possible for one c-tree Plus FPUTFGET application to "hang" when obtaining the record lock already owned by another FPUTFGET process. This impacts database files from many vendors and a patch from Microsoft is available.
- In mixed OS environments (Windows XP with Vista for example) indexes can become out of sync resulting in ITIM_ERR (160) errors or even data corruption. This impacts versions of c-tree Plus V7 and V8 prior to V8.27 Build 071005 with HUGE files enabled, which is the default in V8.14 and later. This can also occur when using the c-tree Plus ODBC Driver in read/write mode and the FPUTFGET model of operation.
Applications using the c-tree Server and c-treeSQL Server are not impacted by these issues.
Testing your FPUTFGET Application
It is easy to test your c-tree Plus FPUTFGET application for this behavior. The c-tree Plus example program, ctixmg, provides an easy-to-use application allowing for a simple controlled test. This example is built when you include samples in your c-tree Plus mtree build.
- Build ctixmg choosing the multiuser standalone (FPUTFGET) c-tree Plus model.
- Start two ctixmg instances on two different machines. (Vista to Vista or Vista to XP for example)
- B)egin Locking from the first instance of ctixmg.
- A)dd a record from the first instance of ctixmg and do not E)nd Locking.
- B)egin Locking on the second instance of ctixmg.
- Attempt to U)pdate the same record as added in Step 4 from the second instance of ctixmg.
You should receive a DLOK_ERR error (42) from the second instance indicating that the expected and appropriate locking has taken place. If your application hangs (Vista to Vista), or the Update succeeds (Vista to XP), then you may require the Windows Vista hotfix and/or a c-tree Plus update.
What if I am affected?
All FairCom maintenance customers in good standing have been notified of this serious matter. A c-tree Plus update is available. Now is also a great time to consider FairCom's c-tree Server technology which does not rely on the operating system to manage locking. With only a few simple changes, you can be up and running with enhanced speed, performance, huge data caching, dynamic backups, and the security of knowing your data is intact and secured!
The following link provides complete details concerning these issues and the impact you may encounter.
Vista Locking with FPUTFGET
Contact your nearest FairCom office should you have any questions or believe you are impacted by this potentially serious issue.
|