Current state: Disccusion completed
ISSUE: https://github.com/milvus-io/milvus/issues/17131
PRs: TODO
Keywords: Collection Alias, Atomic Switching
Released: TODO
RootCoordinator
, Proxy
, and all the key components, CollectionName
and CollectionAlias
are equal. MetaTable.GetCollectionByName(collectionName string, ts typeutil.Timestamp)
can receive CollectionAlias
and return corresponding CollectionInfo.
CollectionAlias
∧ CollectionName
= ∅ . CollectionAlias
cannot collide with existing CollectionName
s.CollectionAlias
works as an extra pointer to the existing collection in the RootCoordinator
, we can implement collection hot reloading at a low cost.AddAlias
, DropAlias
and AlterAlias
, the change of relationship between alias and collection should not affect the operations online, i.e. these operations shoud use the relationship when the task begin to excute.AddAlias
, DropAlias
and AlterAlias
, all proxy should receive the change in the same timestamp to ensure the atomicity between the proxy cache and the rootcoord data.collection
if the collection
is referenced by an alias.