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
 }