ScyllaDB University Live | Free Virtual Training Event
Learn more
ScyllaDB Documentation Logo Documentation
  • Deployments
    • Cloud
    • Server
  • Tools
    • ScyllaDB Manager
    • ScyllaDB Monitoring Stack
    • ScyllaDB Operator
  • Drivers
    • CQL Drivers
    • DynamoDB Drivers
    • Supported Driver Versions
  • Resources
    • ScyllaDB University
    • Community Forum
    • Tutorials
Install
Ask AI
ScyllaDB Docs Scylla Operator Management Synchronising bootstrap operations in ScyllaDB clusters

Caution

You're viewing documentation for an unstable version of Scylla Operator. Switch to the latest stable version.

Synchronising bootstrap operations in ScyllaDB clusters¶

This document explains the automated bootstrap synchronisation in Scylla Operator.

Overview¶

ScyllaDB requires that when a new node is added to a cluster, no existing nodes are down. Precisely speaking, no node in the cluster can consider any other node to be down when a topology change operation is performed. If this is not the case and a non-idempotent operation of bootstrapping a new node is started, the coordinator will deny the node joining the cluster and leave it in a state which is difficult to recover from automatically.

To address this issue, by extending ScyllaDB Pods with init containers, Scylla Operator implements a barrier which observes the statuses of all nodes in the cluster in order to verify that no node in the cluster is down before allowing a new ScyllaDB node to bootstrap. Any restarting nodes which have already been bootstrapped are exempt from meeting this precondition. The status of the nodes is propagated in the cluster using the internal ScyllaDBDatacenterNodeStatuses CRD. Please refer to the ScyllaDBDatacenterNodeStatuses API reference for more information.

Caution

Bootstrap synchronisation does not currently extend to nodes replacing dead nodes in the cluster (i.e. the nodes which are being added to the cluster by a Node replacement operation). Ensure the applicable prerequisites are met before initializing a node replacement operation.

Caution

Bootstrap synchronisation does not currently extend to multi-datacenter ScyllaDB clusters configured manually using ScyllaCluster API. This is due to the fact that node statuses can only be propagated within a single ScyllaDB datacenter. Before adding a new datacenter or a new node to an existing datacenter in a multi-datacenter ScyllaDB cluster, check the status of nodes in all datacenters.

Enable bootstrap synchronisation¶

Caution

This feature requires ScyllaDB 2025.2 or later.

Due to the fact that Scylla Operator does not currently have a reliable way of determining the effective ScyllaDB version used in a ScyllaCluster and the required ScyllaDB version for this feature is 2025.2 or later, this feature can only be enabled via the BootstrapSynchronisation feature gate. This feature will remain opt-in while versions prior to 2025.2 are supported by Scylla Operator.

Please refer to Feature Gates for instructions on how enable or disable a feature gate.

Override the precondition check¶

By default, when the BootstrapSynchronisation feature gate is enabled, bootstrap synchronisation is enforced for all ScyllaClusters in the cluster. However, in scenarios where you might need to circumvent the precondition for a specific ScyllaCluster or a selected ScyllaDB node, you can do so by setting a dedicated annotation. When the annotation is set on a ScyllaCluster or a ScyllaDB node Service, the corresponding entity will be forced to proceed with the bootstrap operation unconditionally.

You can override the precondition check by running the following command:

kubectl annotate -n scylla scyllacluster <scyllacluster-name> scylla-operator.scylladb.com/force-proceed-to-bootstrap=true
kubectl annotate -n scylla service <scylladb-node-service-name> scylla-operator.scylladb.com/force-proceed-to-bootstrap=true

Was this page helpful?

PREVIOUS
Configuring kernel parameters (sysctls)
NEXT
Upgrading
  • Create an issue
  • Edit this page

On this page

  • Synchronising bootstrap operations in ScyllaDB clusters
    • Overview
    • Enable bootstrap synchronisation
    • Override the precondition check
Scylla Operator
  • master
    • v1.19
    • v1.18
    • v1.17
    • master
  • Architecture
    • Overview
    • Storage
      • Overview
      • Local CSI Driver
    • Tuning
    • ScyllaDB Manager
  • Installation
    • Overview
    • Kubernetes prerequisites
    • GitOps (kubectl)
    • Helm
  • Management
    • Configuring kernel parameters (sysctls)
    • Synchronising bootstrap operations in ScyllaDB clusters
    • Upgrading
      • Upgrading Scylla Operator
      • Upgrading ScyllaDB clusters
    • Monitoring
      • ScyllaDB Monitoring overview
      • Setting up ScyllaDB Monitoring
      • Exposing Grafana
      • Setting up ScyllaDB Monitoring on OpenShift
  • Resources
    • Overview
    • ScyllaClusters
      • ScyllaClusters
      • ScyllaDB clients
        • Discovering ScyllaDB Nodes
        • Using CQL
        • Using Alternator (DynamoDB)
      • Node operations using Scylla Operator
        • Upgrading version of Scylla
        • Replacing a Scylla node
        • Automatic cleanup and replacement in case when k8s node is lost
        • Maintenance mode
        • Restore from backup
        • Resizing storage in ScyllaCluster
      • Deploying multi-datacenter ScyllaDB clusters in Kubernetes
        • Build multiple Amazon EKS clusters with inter-Kubernetes networking
        • Build multiple GKE clusters with inter-Kubernetes networking
        • Deploy a multi-datacenter ScyllaDB cluster in multiple interconnected Kubernetes clusters
      • Exposing ScyllaDB cluster
    • ScyllaDBClusters
      • ScyllaDBClusters
      • Exposing ScyllaDB cluster
    • NodeConfigs
    • ScyllaOperatorConfigs
    • RemoteKubernetesCluster
  • Quickstarts
    • Deploying ScyllaDB on GKE
    • Deploying ScyllaDB on EKS
  • Support
    • Support overview
    • Known issues
    • Troubleshooting
      • Troubleshooting installation issues
    • Gathering data with must-gather
    • Releases
  • Reference
    • API Reference
      • scylla.scylladb.com
        • NodeConfig (scylla.scylladb.com/v1alpha1)
        • RemoteKubernetesCluster (scylla.scylladb.com/v1alpha1)
        • RemoteOwner (scylla.scylladb.com/v1alpha1)
        • ScyllaCluster (scylla.scylladb.com/v1)
        • ScyllaDBCluster (scylla.scylladb.com/v1alpha1)
        • ScyllaDBDatacenterNodesStatusReport (scylla.scylladb.com/v1alpha1)
        • ScyllaDBDatacenter (scylla.scylladb.com/v1alpha1)
        • ScyllaDBManagerClusterRegistration (scylla.scylladb.com/v1alpha1)
        • ScyllaDBManagerTask (scylla.scylladb.com/v1alpha1)
        • ScyllaDBMonitoring (scylla.scylladb.com/v1alpha1)
        • ScyllaOperatorConfig (scylla.scylladb.com/v1alpha1)
    • Feature Gates
Docs Tutorials University Contact Us About Us
© 2025, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 27 November 2025.
Powered by Sphinx 8.1.3 & ScyllaDB Theme 1.8.9
Ask AI