Using the Indexes on Disk Feature

The indexes on disk feature is enabled by default in new environments (no pre-existing database).

In production environments, the indexes on disk feature requires a reasonably recent CPU with support for certain operations in hardware. Specifically, your x86 CPU must support the AVX2 set of instructions.

To enable the indexes on disk feature on an existing environment, first upgrade FTL to 7.2.0 or later. Then, change the configuration of your persistence cluster to enable indexes on disk. If disk persistence is not already enabled, choose synchronous or asynchronous disk persistence. Also consider whether non-persistent (non-replicated) messages should be swapped to disk. See Cluster Details Panel.

This configuration change requires a restart of the persistence cluster to take effect. The recommended procedure is a rolling restart of the persistence cluster.

  1. Shut down one of the persistence services. Start with a replica (not the leader).

  2. Client applications should continue to function normally. Verify it.

  3. Restart the persistence service from step 1. Wait for the persistence service to rejoin the cluster and catch up from the other members. Client applications should continue to function normally.

  4. Repeat steps 1-3 for any remaining replicas.

  5. Repeat steps 1-3 for the leader. Client applications fail over to the new leader and continue to function normally.

  6. The indexes on disk feature is now enabled for all persistence services, as indicated by the FTL server log file and the FTL server UI. See Persistence Cluster Details Page.

If disk persistence was enabled previously, the persistence service imports message and acknowledgment data from the old database automatically, without needing to copy the data from other replicas. This procedure works even if you have only one persistence service in the cluster (for example, in a development environment).

Note: To disable the indexes on the feature on an existing environment, perform the same rolling restart procedure. However, in this case, the persistence service does not automatically import the data on disk. Therefore, if you have only one persistence service in your persistence cluster, you must save its state to disk before restarting the persistence service. See Saving and Loading Persistence State.