Current state: Under Discussion

ISSUE: 

PRs: 

Keywords: Segment, QueryNode, QueryCoord, Multiple replica

Released:

Summary

We want to add a new feature that maintain multiple segment replicas in memory to improve the QPS and support fast failover.

Motivation

Milvus holds a replica per segment in memory for now. To improve the search request concurrency, Milvus can have multiple replicas of a segment on different QueryNodes. If a QueryNode is doing a search request on a segment and another request arrives, we can send this request to another QueryNode which have a replica of the same segment. Besides, if a QueryNode crashes, now we have to wait for a segment being loaded to search. If we have multiple replicas, we can resend the search request to another QueryNode immediately.

Public Interfaces


Design Details


Test Plan