mirror of https://github.com/milvus-io/milvus.git
fix: [10kcp] Fix init rootcoord meta timeout (#38249)
issue: https://github.com/milvus-io/milvus/issues/37630 pr: https://github.com/milvus-io/milvus/pull/38248 Signed-off-by: bigsheeper <yihao.dai@zilliz.com>pull/38286/head
parent
99279e0bef
commit
df100e5bbe
|
@ -440,6 +440,7 @@ func (kc *Catalog) appendPartitionAndFieldsInfo(ctx context.Context, collMeta *p
|
|||
return collection, nil
|
||||
}
|
||||
|
||||
// TODO: This function will be invoked many times if there are many databases, leading to significant overhead.
|
||||
func (kc *Catalog) batchAppendPartitionAndFieldsInfo(ctx context.Context, collMeta []*pb.CollectionInfo,
|
||||
ts typeutil.Timestamp,
|
||||
) ([]*model.Collection, error) {
|
||||
|
|
|
@ -434,18 +434,20 @@ func (ss *SuffixSnapshot) generateSaveExecute(kvs map[string]string, ts typeutil
|
|||
func (ss *SuffixSnapshot) LoadWithPrefix(key string, ts typeutil.Timestamp) ([]string, []string, error) {
|
||||
// ts 0 case shall be treated as fetch latest/current value
|
||||
if ts == 0 || ts == typeutil.MaxTimestamp {
|
||||
keys, values, err := ss.MetaKv.LoadWithPrefix(key)
|
||||
fks := keys[:0] // make([]string, 0, len(keys))
|
||||
fvs := values[:0] // make([]string, 0, len(values))
|
||||
fks := make([]string, 0)
|
||||
fvs := make([]string, 0)
|
||||
// hide rootPrefix from return value
|
||||
for i, k := range keys {
|
||||
applyFn := func(key []byte, value []byte) error {
|
||||
// filters tombstone
|
||||
if ss.isTombstone(values[i]) {
|
||||
continue
|
||||
if ss.isTombstone(string(value)) {
|
||||
return nil
|
||||
}
|
||||
fks = append(fks, ss.hideRootPrefix(k))
|
||||
fvs = append(fvs, values[i])
|
||||
fks = append(fks, ss.hideRootPrefix(string(key)))
|
||||
fvs = append(fvs, string(value))
|
||||
return nil
|
||||
}
|
||||
|
||||
err := ss.MetaKv.WalkWithPrefix(key, PaginationSize, applyFn)
|
||||
return fks, fvs, err
|
||||
}
|
||||
ss.Lock()
|
||||
|
|
Loading…
Reference in New Issue