Replicated shards fail over to surviving replicas; unreplicated shards become unavailable
What happens depends on the replication factor of each shard. If a shard had a replica on the crashed node and at least one other replica elsewhere, the surviving replica takes over serving reads and writes. For a shard whose primary was on the crashed node, the cluster promotes one of the surviving replicas to primary, and operations continue. For a shard whose replica (not primary) was on the crashed node, the primary continues as before and the cluster simply has one fewer replica until the node recovers. In both cases, there is a brief window during which the cluster detects the failure and, if necessary, elects a new primary, but reads and writes resume without manual intervention. If a shard had only one copy and that copy was on the crashed node, there is no surviving copy, and operations on that shard fail until the node recovers or the shard is restored from a snapshot.
The mechanism behind failover is that the cluster metadata, maintained through Raft, includes the shard-to-node placement and the primary/replica roles. When a node becomes unreachable, the cluster marks it as down, and the placement logic triggers a promotion for any shard whose primary was on that node. The surviving replica is promoted, and it continues to accept writes and serve reads. If the cluster cannot achieve a quorum for metadata operations, no further metadata changes can be committed, but existing shards can continue to serve traffic according to their current placement. This is the distinction between the metadata plane and the data plane: the metadata plane needs quorum, the data plane does not, and a cluster with a downed node can continue serving traffic for any shard that has a surviving replica. The availability of the collection as a whole therefore depends on the replication factor and on which specific shard's data was on the crashed node. With replication_factor=1, a node crash takes down every shard whose primary was on that node; with replication_factor=2, a single node crash leaves at least one copy of every shard; with replication_factor=3, the cluster can tolerate two simultaneous node failures.
Replicated shard, primary on crashed node: a surviving replica is promoted, reads and writes continue.
Replicated shard, replica on crashed node: the primary continues, one fewer replica until recovery.
Unreplicated shard on crashed node: the shard is unavailable until the node recovers or a snapshot is restored.
Metadata plane: needs quorum for new metadata changes; existing data continues to be served.
Detection window: there is a brief period during which the failure is detected and failover happens.
Client impact: reads and writes for replicated shards resume automatically; unreplicated shards return errors.
Recovery: when the node comes back, it catches up on missed writes via WAL replay or a snapshot transfer.
The trade-off is between replication cost and availability. Higher replication factor means more storage and more network traffic for WAL streaming, but it means the cluster tolerates more failures. The common mistake is to deploy with replication_factor=1 because it is cheaper and then be surprised that a single node failure takes down a large fraction of the collection. The second mistake is to assume that a cluster with one downed node always continues serving all traffic; it does, but only for shards that have a surviving replica, and the shard-to-node placement is not always what the operator expects. The third mistake is to confuse metadata quorum with data availability. A cluster can lose metadata quorum and still serve existing data; conversely, a cluster can have metadata quorum and still have unavailable shards if those shards are unreplicated. Version note: the failover behavior, the promotion logic, and the exact window during which a shard is unavailable after a node crash have changed across Qdrant releases. Some versions have more sophisticated placement and faster failover; others have simpler behavior. If you rely on failover for your SLA, test it by killing a node in a staging cluster and measuring the impact.
Version-dependent: the cluster info API, the shard placement reporting, and the failover behavior have changed across Qdrant releases. In some versions the info endpoint returns a detailed peer list with shard assignments; in others it is more limited. The time it takes to detect a node failure and promote a replica has also changed. If you are designing for an availability SLA, test the failover behavior on your version rather than relying on a general description.
You have a 3-node cluster with replication_factor=1 and one node crashes. Explain what happens to the collections that had shards on that node.
A teammate says a 3-node cluster always survives one node failure. Explain when that is true and when it is not.
You observe a brief spike in errors after a node crash. Explain why and how you would make the client retry transparently.
You need to reduce storage cost by lowering replication_factor from 3 to 2. Explain the availability implications and how you would validate them.
Design a Qdrant cluster topology for a workload that must survive the loss of any single node and continue serving all reads and writes. Specify the node count, replication factor, and placement.
You must perform a rolling restart of a 5-node cluster without any downtime. Describe the procedure and how you would verify that no shards became unavailable during the restart.
Derive the availability of a collection as a function of replication factor, node count, and per-node failure rate. What replication factor do you need to meet a 99.9% availability target?
You are designing a multi-region Qdrant deployment with a 99.99% availability target. Describe the topology, the replication strategy, and the failure modes that could still cause an outage.