How to store log indexes separately from the logs

Introduction

This feature was introduced in Iguana version 6.1.3.

Some of our customers have had corrupted log indexes on NFS drives. This requires Iguana to be restarted so the indexes can be rebuilt — this can take some time if you have a large amount of log files.

We use SQLite for our log indexes and it can have corruption problems with indexes on network drives — particularly NFS.

The solution has been to separate the indexes from the log files and to store them on the local drive.

Issue [top]

Iguana log index corruption on NFS network drives.

Cause [top]

We use SQLite for our log indexes and it can have problem with network drives — particularly  NFS (which is known to have file locking bugs/quirks). See the second point in  How To Corrupt An SQLite Database File for more information.

Solution [top]

The solution has been to separate the indexes from the log files and to store them on a local drive. You could use a non NFS network drive but you might still have issues — so a local drive is the best option.

Follow these steps:

  1. Stop the Iguana service.
  2. Update the log index configuration:
    1. Edit the Iguana configuration file:
      <Iguana install directory>\IguanaConfigurationRepo\IguanaConfiguration.xml
    2. Edit this line to the log_config section:
      index_directory=<chosen local directory>

      For example using an absolute path:

      index_directory="C:\Program Files\iNTERFACEWARE\Iguana\log_indexes"

      Or using a relative path to store indexes in the Iguana install directory:

      index_directory="log_indexes"
    3. The log_config section of IguanaConfiguration.xml file now should look like this:

      Or this if you are using a relative path to store indexes in the Iguana install directory:
  3. Restart the Iguana service.
  4. Confirm new log directory is created like this, containing the index files:
    index_directory
    index files
  5. Delete the previous log directory, in this case the default:
    C:\Program Files\iNTERFACEWARE\Iguana\logs\index directory
    index directory

Prevention [top]

The best practice is to store the log indexes on a local drive. If you need to use a network drive then do not use NFS.