Questions
4 of 12
1A client gets a dimension-mismatch error when inserting a point. What are the most common root causes?
2A filter query that should return results returns an empty list. What would you check first?
3Why might a collection created without specifying a distance metric or vector size fail immediately, and what does that tell you about how Qdrant treats collection configuration?
4What causes a 'collection not found' error immediately after a collection was reportedly created successfully in a distributed cluster?
5Search results seem semantically wrong even though the embedding model is known to work well. What layers would you check to isolate the problem?
6Recall dropped noticeably after enabling quantization. How would you determine whether the quantization configuration or the rescoring settings are the cause?
7A previously fast query has become slow after months of continuous upserts and deletes, with no configuration changes. What's the most likely explanation?
8How would you distinguish a latency problem caused by disk I/O from one caused by CPU-bound distance computation?
9One node in a three-node Qdrant cluster crashes. What happens to reads and writes for shards that had a replica on that node?
10After a crashed node recovers and rejoins the cluster, how does it catch up on writes it missed?
11What symptoms would indicate a 'split-brain' style problem in a distributed Qdrant cluster, and how does the Raft-based consensus layer prevent it?
12What's your recovery plan if an entire Qdrant cluster is lost (e.g., all nodes' disks fail) and you only have periodic snapshots?
04 / 12

What causes a 'collection not found' error immediately after a collection was reportedly created successfully in a distributed cluster?

Consensus propagation delay or querying a node that has not applied the metadata yet

In a distributed Qdrant cluster, creating a collection is a metadata operation that goes through Raft consensus. The client sends the create request to whichever node it is connected to, that node forwards it to the Raft leader if it is not the leader, the leader commits the metadata change, and the change is then applied across the cluster as the Raft log is replicated to followers. The create call may return success as soon as the leader has committed the entry, but the other nodes apply the change asynchronously as they receive and apply the Raft log entry. If the client then immediately sends a query to a different node - or if the client's connection is load-balanced to a node that has not yet applied the metadata - that node may not yet know about the collection and will return 'collection not found'. The collection exists in the cluster's metadata, but not yet on the node the query reached.

The mechanism is that Qdrant's metadata plane is strongly consistent through Raft, but the application of committed entries on each node is not instantaneous. The window is normally very short - typically milliseconds - but it can be longer under load, during a leader election, or if a node is lagging. The symptom is intermittent: the same create-then-query sequence succeeds most of the time and fails occasionally, which makes it hard to reproduce. A related cause is querying a node that is not part of the same Raft group, which can happen if the cluster is misconfigured or if a client is pointing at a node that is in a different cluster. Another related cause is querying an alias that has not yet been created or updated - aliases are also metadata and go through the same consensus path. The distinction matters because the fixes are different: waiting and retrying handles propagation delay, but a misconfigured client or cluster needs a configuration fix.

  1. 1

    Raft propagation delay: the create is committed but not yet applied on the node the query reached.

  2. 2

    Load-balanced clients: the create and the query may hit different nodes, and the query node may lag.

  3. 3

    Alias creation: the alias is also metadata and may not be visible on all nodes immediately.

  4. 4

    Leader election window: during an election, metadata operations may be blocked or delayed.

  5. 5

    Node lag: a slow or overloaded node may apply metadata entries later than the others.

  6. 6

    Misconfigured client: pointing at a node in a different cluster or at a stale endpoint.

  7. 7

    Eventually consistent reads at the application layer: the application's own cache may hold a stale view of the collection list.

The trade-off is between availability and consistency of metadata operations. Qdrant commits metadata through Raft, so a create is durable and consistent once acknowledged, but the acknowledgement is from the leader's perspective, and the followers catch up asynchronously. Making the create block until every node has applied it would eliminate the propagation window but would make metadata operations slower and less available. The common mistake is to treat the create-then-query sequence as atomic at the application level. It is not, and the application should either retry the query on a 'collection not found' or wait for the collection to be visible before proceeding. The second mistake is to assume the problem is a client cache when it is actually the server's metadata propagation - both are possible, and the diagnosis is to query the same node and a different node and compare. The third mistake is to blame the cluster when the client is pointing at a node that is not part of it, which is a configuration issue, not a consistency issue. Version note: the exact behavior of metadata operations during a leader election, and the API for checking cluster state, have changed across Qdrant releases. Some versions expose a readiness endpoint or cluster info that tells you whether the node has applied the latest metadata.

javascript

Version-dependent: the metadata propagation behavior and the APIs for inspecting cluster state have changed across Qdrant releases. In earlier versions, the consensus implementation used a single Raft group for the cluster; more recent versions have moved toward per-collection consensus. The exact window during which a newly created collection is not visible on all nodes, and the way to query for readiness, depend on the version. If you are building automation around create-then-query, use a retry with backoff rather than assuming immediate visibility, and check whether your version exposes a readiness signal.

Difficulty: 7/10
Topics: Distributed Architecture, Raft, Metadata Propagation

Scenario Questions

0-2 years experience
  1. 1

    You create a collection and immediately query it, and occasionally get 'collection not found'. Explain why and how you would make the code robust.

  2. 2

    A teammate says the create call is broken because it returns success but the collection does not exist. Explain what is actually happening.

2-5 years experience
  1. 1

    Your application creates a collection per tenant on demand and occasionally fails with 'collection not found'. Describe the fix and how you would validate it.

  2. 2

    You see 'collection not found' intermittently on a multi-node cluster but not on a single-node deployment. Explain the difference and how you would confirm the cause.

5-8 years experience
  1. 1

    Design an idempotent collection provisioning workflow that is safe to run concurrently from multiple services in a distributed cluster.

  2. 2

    You are migrating from a single-node to a multi-node deployment and see new 'collection not found' errors after cutover. Describe the diagnosis and the mitigation.

8+ years experience
  1. 1

    You are designing a control plane that manages thousands of collections across a Qdrant cluster. Describe how you handle metadata propagation, idempotency, and consistency across the control plane and the data plane.

  2. 2

    A leader election occurs during a batch of collection creates, and some creates fail while others succeed. Describe how you would detect the failure, retry safely, and ensure no duplicate collections are created.

Follow-up Questions

  • How would you distinguish a metadata propagation delay from a client-side cache stale read, and what would you look at in each case?
  • If a node consistently lags behind the others in applying metadata, what would you investigate and how would you remediate it?