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. Add 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.

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.

 

Leave A Comment?