Skip to content

Graceful Shutdown of Cassandra

Compare
Choose a tag to compare
@jolynch jolynch released this 07 Mar 23:06
· 362 commits to 3.x since this release

New Features

  • (#664) Cassandra Process Manager can be configured to gracefully stop using the new
    gracefulDrainHealthWaitSeconds option. If this option set to a positive integer (>=0) then before calling
    the shutdown script, Priam will fail healthchecks (InstanceState.isHealthy) for the configured number of seconds and then will issue a nodetool drain with 30s timeout (since drain can hang), and finally call the provided stop script. By default this is set to -1 to disable this feature for backwards compatibility. This is useful if you want to gracefully drain cassandra clients off a node before running drain (which kills the Native/Thrift server and resets and tcp connections that were established; in flight requests can get dropped), then running drain to safely stop Cassandra, and then call your stop script. If your service discovery system does not integrate with Priam's health system or your stop script already does all these things then leave this functionality disabled.
  • (#664) /v1/cassadmin/stop http API call now takes an optional force parameter (e.g. /v1/cassadmin/stop?force=true which will skip the graceful path for that particular stop; default value is false.
  • (#650) Enable auth on the jmx port via jmxUsername and jmxPassword options. By default these are null and not provided.

Bug Fixes

  • (#659) Fix to Snapshotstatus to actually contain bkupMetadata
  • (#661) Update commons-io, aws-java-sdk, snakeyaml

Breaking changes

  • (#664) If you previously implemented ICassandraProcess internally the start method has been refactored to take a boolean force parameter. If you implement this interface you can supply false to preserve previous behavior.