mirror of https://github.com/milvus-io/milvus.git
get pchannel name from vchannel name (#5892)
Signed-off-by: yefu.chen <yefu.chen@zilliz.com>pull/5888/head
parent
d13cf2da2f
commit
143b54143c
|
@ -151,8 +151,8 @@ func (t *CreateCollectionReqTask) Execute(ctx context.Context) error {
|
|||
vchanNames := make([]string, t.Req.ShardsNum)
|
||||
chanNames := make([]string, t.Req.ShardsNum)
|
||||
for i := int32(0); i < t.Req.ShardsNum; i++ {
|
||||
vchanNames[i] = fmt.Sprintf("%s_%d_v%d", t.Req.CollectionName, collID, i)
|
||||
chanNames[i] = fmt.Sprintf("%s_%d_c%d", t.Req.CollectionName, collID, i)
|
||||
vchanNames[i] = fmt.Sprintf("%s_%d_%d_v", t.Req.CollectionName, collID, i)
|
||||
chanNames[i] = ToPhysicalChannel(vchanNames[i])
|
||||
}
|
||||
|
||||
collInfo := etcdpb.CollectionInfo{
|
||||
|
|
|
@ -119,3 +119,17 @@ func DecodeMsgPositions(str string, msgPositions *[]*msgstream.MsgPosition) erro
|
|||
}
|
||||
return json.Unmarshal([]byte(str), msgPositions)
|
||||
}
|
||||
|
||||
//ToPhysicalChannel virtual channel -> physical channel
|
||||
func ToPhysicalChannel(vchannel string) string {
|
||||
var idx int
|
||||
for idx = len(vchannel) - 1; idx >= 0; idx-- {
|
||||
if vchannel[idx] == '_' {
|
||||
break
|
||||
}
|
||||
}
|
||||
if idx < 0 {
|
||||
return vchannel
|
||||
}
|
||||
return vchannel[:idx]
|
||||
}
|
||||
|
|
|
@ -90,3 +90,11 @@ func Test_GetFieldSchemaByIndexID(t *testing.T) {
|
|||
_, err = GetFieldSchemaByIndexID(coll, 3)
|
||||
assert.NotNil(t, err)
|
||||
}
|
||||
|
||||
func Test_ToPhysicalChannel(t *testing.T) {
|
||||
assert.Equal(t, "abc", ToPhysicalChannel("abc_"))
|
||||
assert.Equal(t, "abc", ToPhysicalChannel("abc_123"))
|
||||
assert.Equal(t, "abc", ToPhysicalChannel("abc_defgsg"))
|
||||
assert.Equal(t, "abc__", ToPhysicalChannel("abc___defgsg"))
|
||||
assert.Equal(t, "abcdef", ToPhysicalChannel("abcdef"))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue