...
Keywords: Segment, QueryNode, QueryCoord, Multiple replicamemory replications
Released:
Summary
We want to add a new feature that maintain multiple segment replicas replications in memory to improve the QPS and support fast failover.
Motivation
Milvus holds a replica replication per segment in memory for now. To improve the search request concurrency, Milvus can have multiple replicas replications 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 replication 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 replicasreplications, we can resend the search request to another QueryNode immediately.
...
- Balance
- If a new segment need to be loaded, we will try to allocate it to multiple different QueryNode(<=replica replication number). It is not necessary to wait all replcas are loaded successfully bacause a replica replication can support the search request.
...