Changing storage-engine value from device to memory


#1

Changing storage-engine value from device to memory (and vice versa)

Problem Description

Is a full cluster restart necessary when modifying the storage-engine configuration namespace stanza parameter value or is a rolling restart possible?
Also, what will be the impact during downtime when changing the storage-engine value?

Solution

  1. Prior to performing any changes
  • Verify there will be no sizing issues when changing the storage-engine setting.
  • Create a backup of your data.
  1. You can change the storage-engine on a running cluster without cluster downtime, proceeding one node at a time (rolling restart).
  • As storage-engine is a static configuration parameter it can only be set by restarting the node.
  • Changing storage-engine can be completed with a rolling restart and have (temporarily!) non-matching storage engines across your cluster. For example, there can be nodes in a cluster with persistance on SSD and node with data in memory only.
  1. Data-Persistence with Downtime versus No Downtime
  • If you want to keep data persistence when going from SSD to data in memory, you would need to include in the configuration file namespace stanza the parameter data-in-memory true and cold start from the data on the SSD.
  • If you do not want to keep data persistence when going from SSD to data in memory, you will have to wait for migrations to repopulate the node, and hence would want to wait for migrations to complete between each node.

Notes

Keywords

STORAGE-ENGINE, NAMESPACE, RESTART, DEVICE, MEMORY, CONFIGURATION

Timestamp

11/03/16