diff --git a/internal/masterservice/master_service_test.go b/internal/masterservice/master_service_test.go index 9c0a9410a434419d4d3576851100ca74e32b6418..a5584e64389f3372fef9dbed8bcd1ecedd9138b5 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 2d6648d4f1be95c79437bf95e08597c77c572c43..abfa425b3ffd8bfd3ea22a65574c2116e6cbc0b8 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 }