General Notes on Configuring Restartability
A restartable
CacheManager must be supplied a data root identifier using the
restartable(<data-root-identifier>) API. If not, the
CacheManager would be created as a non-restartable
CacheManager.
The data root identifier specified at
CacheManager should be any one of the data roots specified in the server configuration. For example, if a server is configured with data roots root1, root2 and root3, a
CacheManager could be supplied any one of these three data roots. If the data root specified in the
CacheManager configuration does not match the data root specified in server configuration, the following
Exception is thrown:
org.terracotta.entity.ConfigurationException:
Given identifier (specified_root) is not present in the server's configuration;
Cannot configure Fast Restart Store for clustered tier manager
(specified_cache_manager) due to invalid configuration specified by client.
As explained in the concepts above, a restartable
CacheManager can only be restartable when the server itself is restartable. If an attempt is made to create a restartable
CacheManager in a non-restartable server, the following
Exception is thrown:
org.terracotta.entity.ConfigurationException:
RestartableClusterTierManager is not supported on non-restartable server
As with a non-restartable
CacheManager, the server resource supplied in the
defaultServerResource API should exist in the Terracotta Server configuration.
As should be obvious, the specified pool size shouldn't exceed the server resource size.
Different clients who want to connect to the same
CacheManager should use the exact same configuration. Once
CacheManager is created, any subsequent attempts to create the same
CacheManager with a different configuration will fail.