How to change the location of Fabasoft Folio Kernel Caches

Last update: 31 January 2018

Information

The Fabasoft Folio Kernel (e.g. Webservices, Conversion services) persists temporary files ("Fabasoft Folio Kernel Caches") to re-use cache data also after a shutdown and restart of the Fabasoft Folio Kernel.

The base location of the Fabasoft Folio Kernel Caches usually is

  • Microsoft Windows: C:\ProgramData\Fabasoft
  • Linux: /var/opt/fabasoft/cache

The path locations are persisted to the Windows Registry or Linux /etc/fabasoft/settings on the first start of the Fabasoft Folio Kernel.

There are several subdirectories that are used for Fabasoft Folio Kernel Caches (CACHEDIR, COMMITDIR, DOCDIR, CASCACHEDIR...) with an own entry in the Registry settings. The used Fabasoft Environment Variables are listed in the whitepaper "Fabasoft Folio Environment Variables.pdf" included on your installation kit.

Solution

Microsoft Windows

The easiest way to change the Fabasoft Folio Kernel Cache paths is by modifying *.upd files. upd-Files contain Fabasoft Environment variables to be written to the Registry hive of the current service user (HKEY_CURRENT_USER\Software\Fabasoft\Environment) before the Fabasoft Kernel starts.

  • Locate the coomk.upd and cooprep.upd files in the directory C:\ProgramData\Fabasoft
  • Change or add the following lines:
    • HKEY_ENVIRONMENT\LOCALDATADIR=
    • HKEY_ENVIRONMENT\CACHEDIR=
    • HKEY_ENVIRONMENT\DOCDIR=
    • HKEY_ENVIRONMENT\COMMITDIR=
    • HKEY_ENVIRONMENT\LOGDIR=
    • HKEY_ENVIRONMENT\CASCACHEDIR=
  • ​Make sure you have changed or added the same lines in both the coomk.upd and cooprep.upd files.
  • When a Fabasoft Folio Kernel starts, it first will copy these settings to it's HKEY_CURRENT_USER Registry hive and then use the new settings to start the Kernel. This will also happen in new Fabasoft Folio services are installed later.

Linux

You can directly change the Environment variables in the /etc/fabasoft/settings/users/fscsrv/Software/Fabasoft/Environment directory.

  • Move into the appropriate subdirectory (e.g. CACHEDIR) 
  • Modify the existing registry.default file and enter the new path. Do not enter line-breaks because this will break the file.
  • If the setting does not exist, create the directory, and create the registry.default file by echo -n > registry.default. The -n option avoids to create a line-break.

Details

Starting with Fabasoft Folio 2016, the Folio Kernel does not save binary data anymore in the CACHEDIR folder. On Kernel start, all data are re-read from the COO-Services.

The COMMITDIR folder contains a information files of cuccently reserved object id's and aggregate id's for each Kernel. To optimize performance, each Kernel pre-allocates and locally manages blocks of object id's and aggregate id's that are already marked as used in the databases. On shutdown, the used and free id's of that blocks are stored in the COMMITDIR directory, and read at startup, to fill up the local block. If you delete COMMITDIR, each Kernel will allocate a new block, and the unused local id's are lost ind the address space. This leads to a faster growing of id usage.

The DOCDIR is used for temporary saved documents that are processed. Especially on conversion servers it is used for the source and destination files. In some situations, when the Kernel looses context to a document, documents may stay in the directory. DOCDIR can be savely cleared when all Kernel instances are closed.

The CASCACHEDIR is used as read cache for CAS MMC service areas. Documents are cached and served directly from the CASCACHEDIR if the document hash from the database is found in this directory. The size and cleanup interval can be controlled by environment variables (that can be set in the .upd files as well). Like the DOCDIR, the CASCACHEDIR can be deleted savely when all Kernel instances are closed.

The LOGDIR is present for legacy reasons and is usually empty on recent Fabasoft Folio versions.