From d6386094bd0617e7220ff57e2a2c5125a56929db Mon Sep 17 00:00:00 2001 From: Huei Feng <695979933@qq.com> Date: Thu, 9 Jun 2022 12:59:43 +0800 Subject: [PATCH] adding dapr-http-read-buffer-size parameter to cli (#993) * Modify path DaprRoot add the SystemDrive environment variable Signed-off-by: HueiFeng <695979933@qq.com> * Script for docker install instead of actions-setup-docker (#986) * Script for docker install instead of actions-setup-docker Signed-off-by: Pravin Pushkar * trigger pr checks Signed-off-by: Pravin Pushkar Signed-off-by: HueiFeng <695979933@qq.com> * Format output of dapr --version as JSON. (#878) * Format output of dapr --version as JSON. Signed-off-by: fanfanbj * Format output of dapr --version as JSON. Signed-off-by: fanfanbj Co-authored-by: Yaron Schneider Signed-off-by: HueiFeng <695979933@qq.com> * Fix for panic during upgrade of edge version dapr (#983) * Fix for panic during upgrade of edge version dapr Signed-off-by: Pravin Pushkar * change console log message Signed-off-by: Pravin Pushkar Co-authored-by: Yaron Schneider Signed-off-by: HueiFeng <695979933@qq.com> * Add dapr annotate command (#873) * Add dapr inject command Signed-off-by: Joni Collinge * Add additional opts Signed-off-by: Joni Collinge * Update comment regarding injection Signed-off-by: Joni Collinge * fix some linting issues (more to go) Signed-off-by: Joni Collinge * use existing const in tests Signed-off-by: Joni Collinge * fix some more linting Signed-off-by: Joni Collinge * fix some more linting Signed-off-by: Joni Collinge * udpate tests Signed-off-by: Joni Collinge * udpate tests Signed-off-by: Joni Collinge * add option to run against a URL Signed-off-by: Joni Collinge * refactor cmd/inject.go slightly Signed-off-by: Joni Collinge * update example text Signed-off-by: Joni Collinge * autogenerate appid if not present Signed-off-by: Joni Collinge * Update comment Signed-off-by: Joni Collinge * Add support for target namespace Signed-off-by: Joni Collinge * Update comment Signed-off-by: Joni Collinge * Add warning about app id generation to usage Signed-off-by: Joni Collinge * fix linting issues Signed-off-by: Joni Collinge * rename inject to annotate Signed-off-by: Joni Collinge * go mod tidy Signed-off-by: Joni Collinge * fix lint Signed-off-by: Joni Collinge * update --help URL Signed-off-by: Joni Collinge * add README.md seciton Signed-off-by: Joni Collinge Co-authored-by: Yaron Schneider Signed-off-by: HueiFeng <695979933@qq.com> * Update go version to 1.18 (#982) * Update go version to 1.18 Signed-off-by: Pravin Pushkar * Bumping golangci-lint Signed-off-by: Pravin Pushkar Signed-off-by: HueiFeng <695979933@qq.com> * adding dapr-http-read-buffer-size parameter to cli Signed-off-by: HueiFeng <695979933@qq.com> Co-authored-by: Pravin Pushkar Co-authored-by: FanBin Co-authored-by: Yaron Schneider Co-authored-by: Joni Collinge Signed-off-by: hueifeng <695979933@qq.com> --- cmd/run.go | 3 +++ pkg/standalone/list.go | 7 +++++++ pkg/standalone/run.go | 5 +++++ pkg/standalone/run_test.go | 2 ++ 4 files changed, 17 insertions(+) diff --git a/cmd/run.go b/cmd/run.go index b3c41827d..a4850626e 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -46,6 +46,7 @@ var ( appSSL bool metricsPort int maxRequestBodySize int + readBufferSize int unixDomainSocket string enableAPILogging bool ) @@ -115,6 +116,7 @@ dapr run --app-id myapp --app-port 3000 --app-protocol grpc -- go run main.go AppSSL: appSSL, MetricsPort: metricsPort, MaxRequestBodySize: maxRequestBodySize, + HTTPReadBufferSize: readBufferSize, UnixDomainSocket: unixDomainSocket, EnableAPILogging: enableAPILogging, }) @@ -364,6 +366,7 @@ func init() { RunCmd.Flags().IntVarP(&metricsPort, "metrics-port", "M", -1, "The port of metrics on dapr") RunCmd.Flags().BoolP("help", "h", false, "Print this help message") RunCmd.Flags().IntVarP(&maxRequestBodySize, "dapr-http-max-request-size", "", -1, "Max size of request body in MB") + RunCmd.Flags().IntVarP(&readBufferSize, "dapr-http-read-buffer-size", "", -1, "HTTP header read buffer in KB") RunCmd.Flags().StringVarP(&unixDomainSocket, "unix-domain-socket", "u", "", "Path to a unix domain socket dir. If specified, Dapr API servers will use Unix Domain Sockets") RunCmd.Flags().BoolVar(&enableAPILogging, "enable-api-logging", false, "Log API calls at INFO verbosity. Valid values are: true or false") diff --git a/pkg/standalone/list.go b/pkg/standalone/list.go index be665c446..66c012c8a 100644 --- a/pkg/standalone/list.go +++ b/pkg/standalone/list.go @@ -51,6 +51,7 @@ type runData struct { appCmd string enableMetrics bool maxRequestBodySize int + httpReadBufferSize int } func (d *daprProcess) List() ([]ListOutput, error) { @@ -134,6 +135,11 @@ func List() ([]ListOutput, error) { continue } + httpReadBufferSize, err := strconv.Atoi(argumentsMap["--dapr-http-read-buffer-size"]) + if err != nil { + continue + } + run := runData{ cliPID: cliPID, sidecarPID: proc.Pid(), @@ -144,6 +150,7 @@ func List() ([]ListOutput, error) { appCmd: appCmd, enableMetrics: enableMetrics, maxRequestBodySize: maxRequestBodySize, + httpReadBufferSize: httpReadBufferSize, } cliToSidecarMap[cliPID] = &run diff --git a/pkg/standalone/run.go b/pkg/standalone/run.go index dc5346b1c..f044c663d 100644 --- a/pkg/standalone/run.go +++ b/pkg/standalone/run.go @@ -52,6 +52,7 @@ type RunConfig struct { AppSSL bool `arg:"app-ssl"` MetricsPort int `env:"DAPR_METRICS_PORT" arg:"metrics-port"` MaxRequestBodySize int `arg:"dapr-http-max-request-size"` + HTTPReadBufferSize int `arg:"dapr-http-read-buffer-size"` UnixDomainSocket string `arg:"unix-domain-socket"` EnableAPILogging bool `arg:"enable-api-logging"` } @@ -158,6 +159,10 @@ func (config *RunConfig) validate() error { config.MaxRequestBodySize = -1 } + if config.HTTPReadBufferSize < 0 { + config.HTTPReadBufferSize = -1 + } + err = config.validatePlacementHostAddr() if err != nil { return err diff --git a/pkg/standalone/run_test.go b/pkg/standalone/run_test.go index 53b794da7..7a7255d48 100644 --- a/pkg/standalone/run_test.go +++ b/pkg/standalone/run_test.go @@ -90,6 +90,7 @@ func assertCommonArgs(t *testing.T, basicConfig *RunConfig, output *RunOutput) { assertArgumentEqual(t, "app-ssl", "", output.DaprCMD.Args) assertArgumentEqual(t, "metrics-port", "9001", output.DaprCMD.Args) assertArgumentEqual(t, "dapr-http-max-request-size", "-1", output.DaprCMD.Args) + assertArgumentEqual(t, "dapr-http-read-buffer-size", "-1", output.DaprCMD.Args) } func assertAppEnv(t *testing.T, config *RunConfig, output *RunOutput) { @@ -148,6 +149,7 @@ func TestRun(t *testing.T) { AppSSL: true, MetricsPort: 9001, MaxRequestBodySize: -1, + HTTPReadBufferSize: -1, EnableAPILogging: true, }