envoyproxy / java-control-plane

Java implementation of an Envoy gRPC control plane
Apache License 2.0
293 stars 136 forks source link

the max value of 'max_request_bytes' is not match #225

Open zbye opened 2 years ago

zbye commented 2 years ago

We have a problem when load the file envoy.yaml to xds developing based on this project. The max value in envoy.yaml is 4294967295, but the max value in this project is 2147483647 (Java's Int type).

The content in envoy.yaml as follows:

          http_filters:
          - name: envoy.ext_authz
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
              http_service:
                server_uri:
                  uri: 10.160.78.3:1001
                  cluster: ext-authz
                  timeout: 1s
              failure_mode_allow: false
              with_request_body:
                max_request_bytes: **4294967295**
                allow_partial_message: true

but when load the content to xds, the value exceeds the max value of Java's Int type.

[api/src/main/proto/envoy/config/filter/http/ext_authz/v2/ext_authz.proto] uint32 max_request_bytes ;

uint32 corresponds to int in Java and int32 in Go, so this will result in an error when load the envoy.yaml.

I

liangyuanpeng commented 1 year ago

4294967295, but the max value in this project is 2147483647 (Java's Int type).

Yes, you are right.

I think this is not the side of envoy/envoy control problem, the really peoblem is really need to set the max value?