...
Code Block |
---|
type metaTable struct { client kv.SnapShotKV // client of a reliable kv service, i.e. etcd client tenantID2Meta map[typeutil.UniqueID]pb.TenantMeta // tenant id to tenant meta proxyID2Meta map[typeutil.UniqueID]pb.ProxyMeta // proxy id to proxy meta collID2Meta map[typeutil.UniqueID]pb.CollectionInfo // collection_id -> meta collName2ID map[string]typeutil.UniqueID // collection name to collection id // NEW **collAlias2ID map[string]typeutil.UniqueID** ... } |
As CollectionAlias
& CollectionName
are equal, GetCollectionByName
also checks metaTable.collAlias2ID
when getting the collection by name.
...
Code Block |
---|
// root_coord.proto service RootCoord { // NEW // CreateAlias creates 1 to 1 mapping between `alias` and `collection_name` // 1. If there no `alias` in the metaTable: // 1.1 new `alias` will be added to the metaTable // 1.2 `alias` will be persisted in the `etcd` // 1.3 `dd_op` will sent to log broker. // 2. If there is `alias/collection` in the metaTable: // 2.1 An `alias/collection already exists` error will be returned. rpc CreateAlias(milvus.CreateAliasRequest) returns (common.Status) {} // NEW // 1. DropAlias // 1.1 Removes theexisting mapping from the metaTable // 1.2 Removes theexisting mapping from the `etcd` // 1.3 `dd_op` will be sent to the log broker. // 1.4 Invalidates proxy caches rpc DropAlias(milvus.DropAliasRequest) returns (common.Status) {} // NEW // 1. AlterAlias // 1.1 Existing Mappingmapping will be updated in metaTable. // 1.2 MappingExisting mapping will be updated in `etcd` // 1.3 `dd_op` will be sent to log broker. // 1.4 Invalidates proxy caches. rpc AlterAlias(milvus.AlterAliasRequest) returns (common.Status) {} // UPDATED REQUIRED // Collection can't be dropped it is referenced by an `alias`. rpc DropCollection(DropCollectionRequest) returns (common.Status) {} // UPDATED REQUIRED // DescribeCollection now returns `aliases` rpc DescribeCollection(DescribeCollectionRequest) returns (DescribeCollectionResponse) {} } |
...