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
Search Ask AI
ScyllaDB Docs ScyllaDB Operator Troubleshoot Recover from a stuck scale-down
For AI agents: a documentation index is available at https://operator.docs.scylladb.com/master/llms.txt. A Markdown version of this page is at https://operator.docs.scylladb.com/master/troubleshoot/recover-from-stuck-scale-down.md.

Caution

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

Recover from a stuck scale-down¶

Procedure to recover when a scale-down with parallel node operations disabled leaves the Pods of the removed nodes behind.

When to use this procedure¶

Use this guide when all of the following hold:

  • Parallel node operations are disabled.

  • You scaled a rack down by two or more nodes.

  • Pods whose ordinal is equal to or higher than the number of members of the rack keep running unready, and their member Services are removed.

  • The ScyllaCluster reports Progressing=True with the reason WaitingForStatefulSetRollout indefinitely.

Cause¶

With parallel node operations disabled, each rack’s StatefulSet uses the OrderedReady Pod management policy. Under it, the StatefulSet controller deletes an unready Pod only when no Pod with a lower ordinal is unready. The Pods of the nodes that have left the cluster never become ready again. When a Pod that stays in the rack isn’t ready while the nodes leave, for example because its node is in maintenance mode, the next node leaves before the Pod with the highest ordinal is deleted. From then on, each leftover Pod blocks the deletion of the leftover Pods above it, so making the Pod that stays in the rack ready again doesn’t help.

Recover¶

Make sure the Pods that stay in the rack are ready, for example by taking their nodes out of maintenance mode. Then delete the leftover Pod with the highest ordinal:

kubectl -n <namespace> delete pod <pod-name>

The StatefulSet controller then deletes the remaining leftover Pods, and the scale-down finishes. Deleting these Pods is safe, because their nodes have already left the cluster.

Enabling parallel node operations on a cluster in this state doesn’t recover it, because the Operator applies the change only once the scale-down finishes.

Prevent it¶

Enable parallel node operations before you scale down.

Was this page helpful?

PREVIOUS
Recover from a failed node replace
NEXT
Troubleshoot performance
  • Create an issue
  • Edit this page

On this page

  • Recover from a stuck scale-down
    • When to use this procedure
    • Cause
    • Recover
    • Prevent it
ScyllaDB Operator
Search Ask AI
  • master
    • master
    • v1.22
    • v1.21
    • v1.20
    • v1.19
  • Get Started
    • What Is ScyllaDB Operator?
    • ScyllaDB Concepts on Kubernetes
  • Install Operator
    • Provision infrastructure
      • Set up a GKE cluster for ScyllaDB
      • Set up an EKS cluster for ScyllaDB
      • Set up an OKE cluster for ScyllaDB
      • Set up an OpenShift cluster for ScyllaDB
      • Multi-DC
        • Set up multiple GKE clusters
        • Set up multiple EKS clusters
    • Install with GitOps
    • Install with Helm
    • Install on OpenShift
  • Deploy ScyllaDB
    • Before you deploy
      • Set up dedicated node pools
      • Configure CPU pinning
      • Configure nodes
      • Configure ScyllaDB Operator
    • Deploy your first cluster
    • Reference deployments
      • Reference deployment: GKE
      • Reference deployment: EKS
      • Reference deployment: OKE
      • Reference deployment: OpenShift
    • Deploy a multi-datacenter ScyllaDB cluster
    • Install ScyllaDB Manager
    • Set up networking
      • Configure external access
      • IPv6 networking
        • Getting started with IPv6 networking
        • Configure dual-stack networking
        • Configure IPv6-only networking
        • Migrate clusters to IPv6
        • Troubleshoot IPv6 networking issues
        • IPv6 networking concepts
    • Set up monitoring
      • Set up ScyllaDB Monitoring
      • Set up ScyllaDB Monitoring on OpenShift
      • Expose Grafana
    • Production checklist
  • Connect Your App
    • Connect via CQL
    • Alternator (DynamoDB API)
    • Discovery endpoint
  • Understand
    • Storage
    • Tuning
    • ScyllaDB Manager
    • Networking
    • ScyllaDB Monitoring overview
    • Bootstrap synchronisation
    • Automatic data cleanup
    • Sidecar and pod anatomy
    • Ignition
    • Pod disruption budgets
    • Security
    • StatefulSets and racks
  • Operate
    • Scale, add, remove racks
    • Replace nodes
    • Expand storage volumes
    • Use maintenance mode
    • Back up and restore
    • Restore from backup
    • Perform a rolling restart
    • Migrate a rack to a new node pool
    • Decommission a datacenter
    • Pass additional ScyllaDB arguments
    • Configure precomputed IO properties
  • Upgrade
    • Upgrading ScyllaDB Operator
    • Upgrading ScyllaDB clusters
  • Troubleshoot
    • Investigate pod restarts
    • Change log level on a live cluster
    • Recover from a failed node replace
    • Recover from a stuck scale-down
    • Troubleshoot performance
    • Collect debugging information
      • Collect data with must-gather
      • must-gather contents
      • Query system tables for debugging
    • Collect core dumps
  • Reference
    • API Reference
      • scylla.scylladb.com
        • NodeConfig (scylla.scylladb.com/v1alpha1)
        • ScyllaCluster (scylla.scylladb.com/v1)
        • 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
    • IPv6 configuration reference
    • Releases
    • Known issues
    • Conditions reference
    • nodetool alternatives
  • Contributing to ScyllaDB Operator
Docs Tutorials University Contact Us About Us
© 2026, ScyllaDB. All rights reserved. | Terms of Service | Privacy Policy | ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.
Last updated on 09 October 2026.
Powered by Sphinx 9.1.0 & ScyllaDB Theme 1.9.3