diff --git a/internal/rootcoord/create_db_task.go b/internal/rootcoord/create_db_task.go index 35f1b67ddc..5db6dbeef3 100644 --- a/internal/rootcoord/create_db_task.go +++ b/internal/rootcoord/create_db_task.go @@ -38,7 +38,7 @@ func (t *createDatabaseTask) Prepare(ctx context.Context) error { } cfgMaxDatabaseNum := Params.RootCoordCfg.MaxDatabaseNum.GetAsInt() - if len(dbs) > cfgMaxDatabaseNum { + if len(dbs) >= cfgMaxDatabaseNum { return merr.WrapErrDatabaseNumLimitExceeded(cfgMaxDatabaseNum) } diff --git a/internal/rootcoord/create_db_task_test.go b/internal/rootcoord/create_db_task_test.go index 277e7fe495..5f83139150 100644 --- a/internal/rootcoord/create_db_task_test.go +++ b/internal/rootcoord/create_db_task_test.go @@ -28,6 +28,7 @@ import ( "github.com/milvus-io/milvus-proto/go-api/v2/milvuspb" "github.com/milvus-io/milvus/internal/metastore/model" mockrootcoord "github.com/milvus-io/milvus/internal/rootcoord/mocks" + "github.com/milvus-io/milvus/pkg/util/merr" "github.com/milvus-io/milvus/pkg/util/paramtable" ) @@ -51,9 +52,8 @@ func Test_CreateDBTask_Prepare(t *testing.T) { t.Run("check database number fail", func(t *testing.T) { meta := mockrootcoord.NewIMetaTable(t) cfgMaxDatabaseNum := Params.RootCoordCfg.MaxDatabaseNum.GetAsInt() - len := cfgMaxDatabaseNum + 1 - dbs := make([]*model.Database, 0, len) - for i := 0; i < len; i++ { + dbs := make([]*model.Database, 0, cfgMaxDatabaseNum) + for i := 0; i < cfgMaxDatabaseNum; i++ { dbs = append(dbs, model.NewDefaultDatabase(nil)) } meta.On("ListDatabases", @@ -73,7 +73,7 @@ func Test_CreateDBTask_Prepare(t *testing.T) { }, } err := task.Prepare(context.Background()) - assert.Error(t, err) + assert.ErrorIs(t, err, merr.ErrDatabaseNumLimitExceeded) }) t.Run("ok", func(t *testing.T) {