From 1189332786ccc0280994a308f8962b83ff87ba3c Mon Sep 17 00:00:00 2001 From: neza2017 Date: Wed, 3 Feb 2021 18:41:20 +0800 Subject: [PATCH] Create default partition when create collection Signed-off-by: neza2017 --- internal/masterservice/master_service_test.go | 18 ++++++++++++++++- internal/masterservice/task.go | 20 +++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/internal/masterservice/master_service_test.go b/internal/masterservice/master_service_test.go index 9c0a9410a4..a5584e6438 100644 --- a/internal/masterservice/master_service_test.go +++ b/internal/masterservice/master_service_test.go @@ -249,12 +249,28 @@ func TestMasterService(t *testing.T) { msg, ok := <-ddStream.Chan() assert.True(t, ok) - assert.Equal(t, len(msg.Msgs), 1) + assert.True(t, len(msg.Msgs) == 2 || len(msg.Msgs) == 1) + createMsg, ok := (msg.Msgs[0]).(*ms.CreateCollectionMsg) assert.True(t, ok) createMeta, err := core.MetaTable.GetCollectionByName("testColl") assert.Nil(t, err) assert.Equal(t, createMsg.CollectionID, createMeta.ID) + assert.Equal(t, len(createMeta.PartitionIDs), 1) + + if len(msg.Msgs) == 2 { + createPart, ok := (msg.Msgs[1]).(*ms.CreatePartitionMsg) + assert.True(t, ok) + assert.Equal(t, createPart.CollectionName, "testColl") + assert.Equal(t, createPart.PartitionID, createMeta.PartitionIDs[0]) + } else { + msg, ok = <-ddStream.Chan() + assert.True(t, ok) + createPart, ok := (msg.Msgs[0]).(*ms.CreatePartitionMsg) + assert.True(t, ok) + assert.Equal(t, createPart.CollectionName, "testColl") + assert.Equal(t, createPart.PartitionID, createMeta.PartitionIDs[0]) + } req.Base.MsgID = 101 req.Base.Timestamp = 101 diff --git a/internal/masterservice/task.go b/internal/masterservice/task.go index 2d6648d4f1..abfa425b3f 100644 --- a/internal/masterservice/task.go +++ b/internal/masterservice/task.go @@ -147,6 +147,26 @@ func (t *CreateCollectionReqTask) Execute() error { return err } + ddPart := internalpb2.CreatePartitionRequest{ + Base: &commonpb.MsgBase{ + MsgType: commonpb.MsgType_kCreatePartition, + MsgID: t.Req.Base.MsgID, //TODO, msg id + Timestamp: t.Req.Base.Timestamp + 1, + SourceID: t.Req.Base.SourceID, + }, + DbName: t.Req.DbName, + CollectionName: t.Req.CollectionName, + PartitionName: Params.DefaultPartitionName, + DbID: 0, //TODO, not used + CollectionID: collMeta.ID, + PartitionID: partMeta.PartitionID, + } + + err = t.core.DdCreatePartitionReq(&ddPart) + if err != nil { + return err + } + return nil }