c-treeACE V10.0 Update Guide

Previous Topic

Next Topic

Other Tune-Ups

A number of other minor additions include:

  • Include server name and version in c-treeACE Server system tray text - The c-treeACE Server for Windows now displays its version, server name, SQL port, and SQL database as the tool tip for the system tray icon.
  • c-treeACE Server for Windows now accepts command-line options when run as a service - A customer wanted to specify the location of the c-treeACE Server configuration file when running the c-treeACE Server as a Windows service. But they found that when the c-treeACE Server is run as a Windows service, it ignores the command-line options. We modified the server’s startup code so that it gets the service’s command-line options from two locations and processes them. The two locations are: a) the options specified in the ImagePath registry key (which are passed to the WinMain() function), and b) the options specified in the “Start parameters” text box if using the Windows services control panel applet to start the service.
  • COMMIT_DELAY 2 for Windows systems - On Windows our experience shows that using COMMIT_DELAY can dramatically improve performance of TRNLOG transactions. We set now default to COMMIT_DELAY 2 for Windows systems.
  • Insufficient disk space - A new c-treeACE Server configuration option monitors available disk space and shuts down database engine when insufficient disk space is available. This configuration option DISK_FULL_ACTION enables c-treeACE Server to monitor available disk space and to shut down the database engine when the disk space falls below the specified limit.
  • Flush of file system cache can now be disabled for non-transaction files - While testing on Windows, we noticed time spent in our flush file buffers logic. We call this logic on the first update to a file after it is opened in order to write the header with the update flag value set, so that if c-treeACE terminates abnormally, the next time we open the file we see the update flag set and know that the file must be processed by automatic recovery (or rebuilt if it is a non-transaction file). For a temporary non-transaction-controlled file, it might be desirable to avoid this flush logic. We now provide a way to suppress this call for a non-transaction-controlled file.
  • Increase default TRANSACTION_FLUSH setting - Testing automatic recovery performance justified that we increased the default TRANSACTION_FLUSH setting from 100 to 500000 and changed the TRANSACTION_FLUSH setting in the configuration that we include with the c-treeACE Server package from 10000 to 500000. The result was an increased performance by reducing flushing of data and index cache pages.
  • Exported C++ Methods in the Server .DLL Model - The c-treeACE Server .dll model is a power extension of c-treeACE database technology allowing all of the features of c-treeACE Server technology to now be available to your existing non-server applications. This is accomplished by having the core server bundled into a run-time linkable shared library object. Initially, this model excluded C++ methods, as the methods were not exported from the library. These exports have since been added.
  • Maximum Virtual Files (MAXVFIL) changed from 500 to 32767 - We decided that because of today’s modern operating systems, that the default value for MAXVFIL should be increased, therefore we increased the value from 500 to 32767. This also resolved an issue within Dynamic Dumps while a large amount of files were in operation.
  • CPU_AFFINITY option now ignores invalid CPU identifiers on Windows systems - On Windows systems, the c-treeACE Server’s CPU_AFFINITY option now ignores any invalid CPU identifiers that are specified. For example, the following CPU_AFFINITY option is now valid on a 2 CPU system: CPU_AFFINITY 0,2,3. In this example CPU identifiers 2 and 3 are ignored and the c-treeACE Server process is set to run only on CPU 0.
  • HP/UX Itanium system - c-treeACE Server showed high CPU usage on HP/UX Itanium system when activated with time-limited evaluation key. We fixed an internal security check within the server code that was “polling” and consuming CPU resources. This only occurred if an evaluation activation key was used for the server, and this logic only pertains to the security checks for evaluation servers.