diff --git a/CHANGELOG.md b/CHANGELOG.md index fda79c75f..17a6a728a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,18 +67,18 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Fix `FixedSizeReservoir` in `go.opentelemetry.io/otel/sdk/metric/exemplar` to safely handle zero size. A capacity check in the constructor initializes the reservoir safely and skips initialization for zero-cap; early returns in `Offer()` and `Collect()` ensure no-op behavior. (#8295) -- Limit OTLP request size to 32 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. - The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157) -- Limit OTLP request size to 32 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. - The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157) -- Limit OTLP request size to 32 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. - The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157) -- Limit OTLP request size to 32 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. - The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157) -- Limit OTLP request size to 32 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. - The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157) -- Limit OTLP request size to 32 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. - The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157) +- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc`. + The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365) +- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. + The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365) +- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc`. + The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365) +- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. + The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365) +- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. + The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365) +- Limit OTLP request size to 64 MiB by default in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. + The limit applies before compression, oversized requests are treated as non-retryable errors, and the limit can be configured with the new `WithMaxRequestSize` option. (#8157, #8365) - Fix gzipped request body replay on redirect in `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#8135) - Fix gzipped request body replay on redirect in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#8152) - `go.opentelemetry.io/otel/exporters/prometheus` now uses `Value.String` formatting for label values following the [OpenTelemetry AnyValue representation for non-OTLP protocols](https://opentelemetry.io/docs/specs/otel/common/#anyvalue). (#8170) diff --git a/exporters/otlp/otlplog/otlploggrpc/config.go b/exporters/otlp/otlplog/otlploggrpc/config.go index b878fefd8..6f8a0f9d1 100644 --- a/exporters/otlp/otlplog/otlploggrpc/config.go +++ b/exporters/otlp/otlplog/otlploggrpc/config.go @@ -27,7 +27,7 @@ import ( var ( defaultEndpoint = "localhost:4317" defaultTimeout = 10 * time.Second - defaultMaxRequestSize = 32 * 1024 * 1024 + defaultMaxRequestSize = 64 * 1024 * 1024 defaultRetryCfg = retry.DefaultConfig ) diff --git a/exporters/otlp/otlplog/otlploggrpc/config_test.go b/exporters/otlp/otlplog/otlploggrpc/config_test.go index e08de4ff5..275a4e9cb 100644 --- a/exporters/otlp/otlplog/otlploggrpc/config_test.go +++ b/exporters/otlp/otlplog/otlploggrpc/config_test.go @@ -497,7 +497,7 @@ func TestNewConfig(t *testing.T) { }(otel.GetErrorHandler())) c := newConfig(tc.options) if !tc.want.maxRequestSize.Set { - tc.want.maxRequestSize = newSetting(defaultMaxRequestSize) + tc.want.maxRequestSize = newSetting(64 * 1024 * 1024) } // Do not compare pointer values. diff --git a/exporters/otlp/otlplog/otlploghttp/config.go b/exporters/otlp/otlplog/otlploghttp/config.go index 480ee92a0..03663042e 100644 --- a/exporters/otlp/otlplog/otlploghttp/config.go +++ b/exporters/otlp/otlplog/otlploghttp/config.go @@ -26,7 +26,7 @@ var ( defaultEndpoint = "localhost:4318" defaultPath = "/v1/logs" defaultTimeout = 10 * time.Second - defaultMaxRequestSize = 32 * 1024 * 1024 + defaultMaxRequestSize = 64 * 1024 * 1024 defaultProxy HTTPTransportProxyFunc = http.ProxyFromEnvironment defaultRetryCfg = retry.DefaultConfig ) diff --git a/exporters/otlp/otlplog/otlploghttp/config_test.go b/exporters/otlp/otlplog/otlploghttp/config_test.go index 3f1008c0f..edab8dc18 100644 --- a/exporters/otlp/otlplog/otlploghttp/config_test.go +++ b/exporters/otlp/otlplog/otlploghttp/config_test.go @@ -512,7 +512,7 @@ func TestNewConfig(t *testing.T) { }(otel.GetErrorHandler())) c := newConfig(tc.options) if !tc.want.maxRequestSize.Set { - tc.want.maxRequestSize = newSetting(defaultMaxRequestSize) + tc.want.maxRequestSize = newSetting(64 * 1024 * 1024) } // Do not compare pointer values. diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go index 0ca7074d4..b89d7eeb7 100644 --- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go +++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options.go @@ -37,7 +37,7 @@ const ( DefaultMetricsPath string = "/v1/metrics" // DefaultMaxRequestSize is the default maximum size of a serialized export // request, before compression. - DefaultMaxRequestSize int = 32 * 1024 * 1024 + DefaultMaxRequestSize int = 64 * 1024 * 1024 // DefaultBackoff is a default base backoff time used in the // exponential backoff strategy. DefaultBackoff time.Duration = 300 * time.Millisecond diff --git a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options_test.go b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options_test.go index 9e590178f..706b1b421 100644 --- a/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options_test.go +++ b/exporters/otlp/otlpmetric/otlpmetricgrpc/internal/oconf/options_test.go @@ -79,7 +79,7 @@ func TestConfigs(t *testing.T) { } assert.Equal(t, NoCompression, c.Metrics.Compression) assert.Equal(t, map[string]string(nil), c.Metrics.Headers) - assert.Equal(t, DefaultMaxRequestSize, c.Metrics.MaxRequestSize) + assert.Equal(t, 64*1024*1024, c.Metrics.MaxRequestSize) assert.Equal(t, 10*time.Second, c.Metrics.Timeout) }, }, diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go index 323c709f2..3fa7cbe5f 100644 --- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go +++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options.go @@ -37,7 +37,7 @@ const ( DefaultMetricsPath string = "/v1/metrics" // DefaultMaxRequestSize is the default maximum size of a serialized export // request, before compression. - DefaultMaxRequestSize int = 32 * 1024 * 1024 + DefaultMaxRequestSize int = 64 * 1024 * 1024 // DefaultBackoff is a default base backoff time used in the // exponential backoff strategy. DefaultBackoff time.Duration = 300 * time.Millisecond diff --git a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options_test.go b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options_test.go index 6849e07cb..f780902cc 100644 --- a/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options_test.go +++ b/exporters/otlp/otlpmetric/otlpmetrichttp/internal/oconf/options_test.go @@ -79,7 +79,7 @@ func TestConfigs(t *testing.T) { } assert.Equal(t, NoCompression, c.Metrics.Compression) assert.Equal(t, map[string]string(nil), c.Metrics.Headers) - assert.Equal(t, DefaultMaxRequestSize, c.Metrics.MaxRequestSize) + assert.Equal(t, 64*1024*1024, c.Metrics.MaxRequestSize) assert.Equal(t, 10*time.Second, c.Metrics.Timeout) }, }, diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go index bddc9e870..d940b6762 100644 --- a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go +++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options.go @@ -33,7 +33,7 @@ const ( DefaultTracesPath string = "/v1/traces" // DefaultMaxRequestSize is the default maximum size of a serialized export // request, before compression. - DefaultMaxRequestSize int = 32 * 1024 * 1024 + DefaultMaxRequestSize int = 64 * 1024 * 1024 // DefaultTimeout is a default max waiting time for the backend to process // each span batch. DefaultTimeout time.Duration = 10 * time.Second diff --git a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options_test.go b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options_test.go index c9ddee11a..2ea3a5699 100644 --- a/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options_test.go +++ b/exporters/otlp/otlptrace/otlptracegrpc/internal/otlpconfig/options_test.go @@ -77,7 +77,7 @@ func TestConfigs(t *testing.T) { } assert.Equal(t, NoCompression, c.Traces.Compression) assert.Equal(t, map[string]string(nil), c.Traces.Headers) - assert.Equal(t, DefaultMaxRequestSize, c.Traces.MaxRequestSize) + assert.Equal(t, 64*1024*1024, c.Traces.MaxRequestSize) assert.Equal(t, 10*time.Second, c.Traces.Timeout) }, }, diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go b/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go index 9b1c3e8c5..2abde6615 100644 --- a/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go +++ b/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options.go @@ -33,7 +33,7 @@ const ( DefaultTracesPath string = "/v1/traces" // DefaultMaxRequestSize is the default maximum size of a serialized export // request, before compression. - DefaultMaxRequestSize int = 32 * 1024 * 1024 + DefaultMaxRequestSize int = 64 * 1024 * 1024 // DefaultTimeout is a default max waiting time for the backend to process // each span batch. DefaultTimeout time.Duration = 10 * time.Second diff --git a/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options_test.go b/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options_test.go index 7f9036fd2..960bb0df8 100644 --- a/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options_test.go +++ b/exporters/otlp/otlptrace/otlptracehttp/internal/otlpconfig/options_test.go @@ -77,7 +77,7 @@ func TestConfigs(t *testing.T) { } assert.Equal(t, NoCompression, c.Traces.Compression) assert.Equal(t, map[string]string(nil), c.Traces.Headers) - assert.Equal(t, DefaultMaxRequestSize, c.Traces.MaxRequestSize) + assert.Equal(t, 64*1024*1024, c.Traces.MaxRequestSize) assert.Equal(t, 10*time.Second, c.Traces.Timeout) }, }, diff --git a/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl b/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl index 629ec4a14..5f39e2526 100644 --- a/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl +++ b/internal/shared/otlp/otlpmetric/oconf/options.go.tmpl @@ -37,7 +37,7 @@ const ( DefaultMetricsPath string = "/v1/metrics" // DefaultMaxRequestSize is the default maximum size of a serialized export // request, before compression. - DefaultMaxRequestSize int = 32 * 1024 * 1024 + DefaultMaxRequestSize int = 64 * 1024 * 1024 // DefaultBackoff is a default base backoff time used in the // exponential backoff strategy. DefaultBackoff time.Duration = 300 * time.Millisecond diff --git a/internal/shared/otlp/otlpmetric/oconf/options_test.go.tmpl b/internal/shared/otlp/otlpmetric/oconf/options_test.go.tmpl index 353cf72fb..af18939d9 100644 --- a/internal/shared/otlp/otlpmetric/oconf/options_test.go.tmpl +++ b/internal/shared/otlp/otlpmetric/oconf/options_test.go.tmpl @@ -79,7 +79,7 @@ func TestConfigs(t *testing.T) { } assert.Equal(t, NoCompression, c.Metrics.Compression) assert.Equal(t, map[string]string(nil), c.Metrics.Headers) - assert.Equal(t, DefaultMaxRequestSize, c.Metrics.MaxRequestSize) + assert.Equal(t, 64*1024*1024, c.Metrics.MaxRequestSize) assert.Equal(t, 10*time.Second, c.Metrics.Timeout) }, }, diff --git a/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl b/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl index 1b187ad1c..f6cc0e998 100644 --- a/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl +++ b/internal/shared/otlp/otlptrace/otlpconfig/options.go.tmpl @@ -33,7 +33,7 @@ const ( DefaultTracesPath string = "/v1/traces" // DefaultMaxRequestSize is the default maximum size of a serialized export // request, before compression. - DefaultMaxRequestSize int = 32 * 1024 * 1024 + DefaultMaxRequestSize int = 64 * 1024 * 1024 // DefaultTimeout is a default max waiting time for the backend to process // each span batch. DefaultTimeout time.Duration = 10 * time.Second diff --git a/internal/shared/otlp/otlptrace/otlpconfig/options_test.go.tmpl b/internal/shared/otlp/otlptrace/otlpconfig/options_test.go.tmpl index cf262b49d..7db5f290f 100644 --- a/internal/shared/otlp/otlptrace/otlpconfig/options_test.go.tmpl +++ b/internal/shared/otlp/otlptrace/otlpconfig/options_test.go.tmpl @@ -77,7 +77,7 @@ func TestConfigs(t *testing.T) { } assert.Equal(t, NoCompression, c.Traces.Compression) assert.Equal(t, map[string]string(nil), c.Traces.Headers) - assert.Equal(t, DefaultMaxRequestSize, c.Traces.MaxRequestSize) + assert.Equal(t, 64*1024*1024, c.Traces.MaxRequestSize) assert.Equal(t, 10*time.Second, c.Traces.Timeout) }, },