get pchannel name from vchannel name (#5892)

Signed-off-by: yefu.chen <yefu.chen@zilliz.com>
pull/5888/head
neza2017 2021-06-19 14:18:08 +08:00 committed by GitHub
parent d13cf2da2f
commit 143b54143c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 2 deletions

View File

@ -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{

View File

@ -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]
}

View File

@ -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"))
}