Spotfire Server and Environment - Quick Start

Graceful shutdown configuration settings

Before you make a configuration change or an upgrade that causes Spotfire Server to shut down, consider enabling the following settings to control the shutdown behavior.

A graceful shutdown can be initiated explicitly with a call to graceful-shutdown, or it can be initiated by the server due to a change in the configuration. If the shutdown is initiated as a result of a detected change or upgrade, then the server checks for the following settings.

Table 1. Configuration settings for gracefully shutting down a single Spotfire Server
Setting Description
lifecycle.changes-monitoring.interval-seconds 0 or a negative value disables changes to monitoring. The default is -1.
lifecycle.changes-monitoring.database-schema-change-action Can be set to IGNORE, GRACEFUL_SHUTDOWN, or IMMEDIATE_SHUTDOWN. The default is IGNORE.
lifecycle.changes-monitoring.technical-version-change-action Can be set to IGNORE, GRACEFUL_SHUTDOWN, or IMMEDIATE_SHUTDOWN. The default is IGNORE.
lifecycle.changes-monitoring.configuration-change-action Can be set to IGNORE, GRACEFUL_SHUTDOWN, or IMMEDIATE_SHUTDOWN. The default is IGNORE.
lifecycle.changes-monitoring.draining.minimum-seconds The minimum draining period, in seconds. The default is 60.
lifecycle.changes-monitoring.draining.timeout-seconds The maximum timeout for draining, in seconds. The default is 120.
lifecycle.changes-monitoring.draining.shutdown Specifies whether an immediate shutdown should be performed at the end of the draining period. The default is true.

For a cluster installation, you can use the following settings to control a rolling shutdown.

Table 2. Configuration settings for gracefully shutting down a Spotfire Server cluster
Setting Description
lifecycle.changes-monitoring.draining.rolling.enabled Set to true to enable rolling shutdown of a Spotfire Server cluster. The default is false.
lifecycle.changes-monitoring.draining.rolling.maxwait-seconds The maximum timeout for draining, in seconds. The default is lifecycle.changes-monitoring.draining.timeout-seconds.
lifecycle.changes-monitoring.draining.rolling.semaphore-retry-seconds The default is 5.
lifecycle.changes-monitoring.draining.rolling.max-unavailable The default is 1.

A rolling shutdown should have, at the most, the value of lifecycle.changes-monitoring.draining.rolling.max-unavailable at one time to avoid having all instance shut down or drain at the same time.

Note: These settings control draining and shutting down only. The system relies on an external action to start the server(s) again; for example, using systemd/Windows service or with Kubernetes.