mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-11-29 10:28:41 +08:00
enhance: add switch for local rpc enabled (#37985)
issue: #33285 - Add switch for local rpc --------- Signed-off-by: chyezh <chyezh@outlook.com>
This commit is contained in:
parent
db3c002788
commit
2b4f211d84
@ -20,7 +20,6 @@ import (
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/milvus-io/milvus/cmd/roles"
|
||||
"github.com/milvus-io/milvus/internal/coordinator/coordclient"
|
||||
"github.com/milvus-io/milvus/internal/util/sessionutil"
|
||||
"github.com/milvus-io/milvus/internal/util/streamingutil"
|
||||
"github.com/milvus-io/milvus/pkg/log"
|
||||
@ -180,12 +179,7 @@ func GetMilvusRoles(args []string, flags *flag.FlagSet) *roles.MilvusRoles {
|
||||
fmt.Fprintf(os.Stderr, "Unknown server type = %s\n%s", serverType, getHelp())
|
||||
os.Exit(-1)
|
||||
}
|
||||
coordclient.EnableLocalClientRole(&coordclient.LocalClientRoleConfig{
|
||||
ServerType: serverType,
|
||||
EnableQueryCoord: role.EnableQueryCoord,
|
||||
EnableDataCoord: role.EnableDataCoord,
|
||||
EnableRootCoord: role.EnableRootCoord,
|
||||
})
|
||||
|
||||
return role
|
||||
}
|
||||
|
||||
|
@ -36,6 +36,7 @@ import (
|
||||
|
||||
"github.com/milvus-io/milvus-proto/go-api/v2/commonpb"
|
||||
"github.com/milvus-io/milvus/cmd/components"
|
||||
"github.com/milvus-io/milvus/internal/coordinator/coordclient"
|
||||
"github.com/milvus-io/milvus/internal/distributed/streaming"
|
||||
"github.com/milvus-io/milvus/internal/http"
|
||||
"github.com/milvus-io/milvus/internal/http/healthz"
|
||||
@ -398,6 +399,13 @@ func (mr *MilvusRoles) Run() {
|
||||
defer streaming.Release()
|
||||
}
|
||||
|
||||
coordclient.EnableLocalClientRole(&coordclient.LocalClientRoleConfig{
|
||||
ServerType: mr.ServerType,
|
||||
EnableQueryCoord: mr.EnableQueryCoord,
|
||||
EnableDataCoord: mr.EnableDataCoord,
|
||||
EnableRootCoord: mr.EnableRootCoord,
|
||||
})
|
||||
|
||||
enableComponents := []bool{
|
||||
mr.EnableRootCoord,
|
||||
mr.EnableProxy,
|
||||
|
@ -871,6 +871,7 @@ common:
|
||||
usePartitionKeyAsClusteringKey: false # if true, do clustering compaction and segment prune on partition key field
|
||||
useVectorAsClusteringKey: false # if true, do clustering compaction and segment prune on vector field
|
||||
enableVectorClusteringKey: false # if true, enable vector clustering key and vector clustering compaction
|
||||
localRPCEnabled: false # enable local rpc for internal communication when mix or standalone mode.
|
||||
|
||||
# QuotaConfig, configurations of Milvus quota and limits.
|
||||
# By default, we enable:
|
||||
|
@ -15,6 +15,7 @@ import (
|
||||
"github.com/milvus-io/milvus/internal/types"
|
||||
"github.com/milvus-io/milvus/internal/util/grpcclient"
|
||||
"github.com/milvus-io/milvus/pkg/log"
|
||||
"github.com/milvus-io/milvus/pkg/util/paramtable"
|
||||
"github.com/milvus-io/milvus/pkg/util/syncutil"
|
||||
"github.com/milvus-io/milvus/pkg/util/typeutil"
|
||||
)
|
||||
@ -49,6 +50,9 @@ type LocalClientRoleConfig struct {
|
||||
|
||||
// EnableLocalClientRole init localable roles
|
||||
func EnableLocalClientRole(cfg *LocalClientRoleConfig) {
|
||||
if !paramtable.Get().CommonCfg.LocalRPCEnabled.GetAsBool() {
|
||||
return
|
||||
}
|
||||
if cfg.ServerType != typeutil.StandaloneRole && cfg.ServerType != typeutil.MixtureRole {
|
||||
return
|
||||
}
|
||||
|
@ -9,10 +9,14 @@ import (
|
||||
"github.com/milvus-io/milvus/internal/proto/datapb"
|
||||
"github.com/milvus-io/milvus/internal/proto/querypb"
|
||||
"github.com/milvus-io/milvus/internal/proto/rootcoordpb"
|
||||
"github.com/milvus-io/milvus/pkg/util/paramtable"
|
||||
"github.com/milvus-io/milvus/pkg/util/typeutil"
|
||||
)
|
||||
|
||||
func TestRegistry(t *testing.T) {
|
||||
paramtable.Init()
|
||||
paramtable.Get().Save(paramtable.Get().CommonCfg.LocalRPCEnabled.Key, "true")
|
||||
|
||||
assert.False(t, enableLocal.EnableQueryCoord)
|
||||
assert.False(t, enableLocal.EnableDataCoord)
|
||||
assert.False(t, enableLocal.EnableRootCoord)
|
||||
|
@ -283,6 +283,9 @@ type commonConfig struct {
|
||||
ReadOnlyPrivileges ParamItem `refreshable:"false"`
|
||||
ReadWritePrivileges ParamItem `refreshable:"false"`
|
||||
AdminPrivileges ParamItem `refreshable:"false"`
|
||||
|
||||
// Local RPC enabled for milvus internal communication when mix or standalone mode.
|
||||
LocalRPCEnabled ParamItem `refreshable:"false"`
|
||||
}
|
||||
|
||||
func (p *commonConfig) init(base *BaseTable) {
|
||||
@ -924,6 +927,15 @@ This helps Milvus-CDC synchronize incremental data`,
|
||||
Doc: `use to override the default value of admin privileges, example: "PrivilegeCreateOwnership,PrivilegeDropOwnership"`,
|
||||
}
|
||||
p.AdminPrivileges.Init(base.mgr)
|
||||
|
||||
p.LocalRPCEnabled = ParamItem{
|
||||
Key: "common.localRPCEnabled",
|
||||
Version: "2.4.18",
|
||||
DefaultValue: "false",
|
||||
Doc: `enable local rpc for internal communication when mix or standalone mode.`,
|
||||
Export: true,
|
||||
}
|
||||
p.LocalRPCEnabled.Init(base.mgr)
|
||||
}
|
||||
|
||||
type gpuConfig struct {
|
||||
|
@ -134,6 +134,10 @@ func TestComponentParam(t *testing.T) {
|
||||
assert.Equal(t, 0, len(Params.ReadOnlyPrivileges.GetAsStrings()))
|
||||
assert.Equal(t, 0, len(Params.ReadWritePrivileges.GetAsStrings()))
|
||||
assert.Equal(t, 0, len(Params.AdminPrivileges.GetAsStrings()))
|
||||
|
||||
assert.False(t, params.CommonCfg.LocalRPCEnabled.GetAsBool())
|
||||
params.Save("common.localRPCEnabled", "true")
|
||||
assert.True(t, params.CommonCfg.LocalRPCEnabled.GetAsBool())
|
||||
})
|
||||
|
||||
t.Run("test rootCoordConfig", func(t *testing.T) {
|
||||
|
Loading…
Reference in New Issue
Block a user