diff --git a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh index ca14a2959663..795dc37a5687 100644 --- a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh +++ b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh @@ -56,6 +56,7 @@ cassandra_env_vars=( ALLOW_EMPTY_PASSWORD CASSANDRA_AUTHORIZER CASSANDRA_AUTHENTICATOR + CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE CASSANDRA_USER CASSANDRA_PASSWORD CASSANDRA_KEYSTORE_PASSWORD @@ -123,6 +124,7 @@ export CASSANDRA_SEEDS="${CASSANDRA_SEEDS:-$CASSANDRA_HOST}" export CASSANDRA_PEERS="${CASSANDRA_PEERS:-$CASSANDRA_SEEDS}" export CASSANDRA_RACK="${CASSANDRA_RACK:-rack1}" export CASSANDRA_BROADCAST_ADDRESS="${CASSANDRA_BROADCAST_ADDRESS:-}" +export CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE="${CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE:-false}" # Database initialization settings export CASSANDRA_STARTUP_CQL="${CASSANDRA_STARTUP_CQL:-}" diff --git a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh index b8e7f63da5ff..9216b8972b76 100644 --- a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh +++ b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh @@ -234,6 +234,7 @@ cassandra_validate() { done check_true_false_value CASSANDRA_SSL_VALIDATE + check_true_false_value CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE if ((${#CASSANDRA_PASSWORD} > 512)); then print_validation_error "The password cannot be longer than 512 characters. Set the environment variable CASSANDRA_PASSWORD with a shorter value" @@ -405,6 +406,10 @@ cassandra_setup_cluster() { cassandra_yaml_set "broadcast_address" "$CASSANDRA_BROADCAST_ADDRESS" fi + if [[ -n "$CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE" ]]; then + cassandra_yaml_set "automatic_sstable_upgrade" "$CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE" + fi + cassandra_config="$(sed -E "/client_encryption_options:.*/ {N;N; s/client_encryption_options:[^\n]*(\n\s{4}#.*)?\n\s{4}enabled:.*/client_encryption_options:\1\n enabled: $CASSANDRA_CLIENT_ENCRYPTION/g}" "$CASSANDRA_CONF_FILE")" echo "$cassandra_config" >"$CASSANDRA_CONF_FILE" else diff --git a/bitnami/cassandra/README.md b/bitnami/cassandra/README.md index e0f637080928..2ad692309e0a 100644 --- a/bitnami/cassandra/README.md +++ b/bitnami/cassandra/README.md @@ -208,6 +208,7 @@ cassandra: - `CASSANDRA_ENABLE_SCRIPTED_USER_DEFINED_FUNCTIONS`: User defined scripted functions. Default: **false** - `CASSANDRA_BROADCAST_ADDRESS`: The public IP address this node uses to broadcast to other nodes outside the network or across regions in multiple-region EC2 deployments. This option is commented out by default (if not provided, Apache Cassandra will use "listen_address"). No defaults. - `CASSANDRA_COMMITLOG_DIR`: Directory where the commit logs will be stored. Default: **/bitnami/cassandra/data/commitlog** + - `CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE`: Automatically upgrade sstables after upgrade - if there is no ordinary compaction to do, the oldest non-upgraded sstable will get upgraded to the latest version. Default: **false**. Additionally, any environment variable beginning with the following prefix will be mapped to its corresponding Apache Cassandra key in the proper file: