10 June 2009
Affected Builds: All builds prior to 090610
Criteria: Segmented file, Automatic recovery after a failed c‑treeACE Server process
Indications: Renamed file segments
During automatic recovery of a failed c‑treeACE process, existing file segments were renamed and thus subsequently not available to the application resulting in apparent missing data. During recovery, an attempt is made to open all segments of a segmented file found in the transaction logs. To open the segments, the segment definition resource must be read from the primary segment. However, an internal file map attribute had not been initialized resulting in a failed call. This failed call caused the recovery process to believe the additional segments did not exist. When later attempting to create the file segment, and that segment already existed, c‑treeACE then renamed the segment. The uninitialized attributes are now properly assigned avoiding this potential incorrect renaming of segmented files.
FairCom customers on current maintenance can request an updated V9 server line at any time. Please contact your nearest FairCom office should you have any concerns that you are impacted by this update.
“The c-treeSQL server is amazing! We benefit greatly from being able to access c-treeSQL tables through the c-treeDB C++ API and the ESQL code both in the same application. We just compile the ESQL code separately using your esqlc and gcc, and then declare it as 'extern "C"' in the main C++ app code. It links and runs nicely. Good job FairCom!
We've used FairCom c-tree server for over 20 years.”
Manager of Software Development, ADFITECH, Inc.