Changing storage-engine value from device to memory (and vice versa)
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
- Prior to performing any changes
- Verify there will be no sizing issues when changing the
- Create a backup of your data.
- You can change the
storage-engineon a running cluster without cluster downtime, proceeding one node at a time (rolling restart).
storage-engineis a static configuration parameter it can only be set by restarting the node.
storage-enginecan 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.
- 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-memorytrue 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.
- Changing from memory only to persistence
- When going from memory only to persistence on a device or file, all records must be smaller than the configured write-block-size of the device otherwise replica writes and migrations will run fail.
STORAGE-ENGINE, NAMESPACE, RESTART, DEVICE, MEMORY, CONFIGURATION