Skip to content

Commit cce7e09

Browse files
committed
Remove deprecated fields from batch config
Signed-off-by: Bogdan Drutu <[email protected]>
1 parent 6e64a27 commit cce7e09

File tree

10 files changed

+25
-168
lines changed

10 files changed

+25
-168
lines changed

.chloggen/rm-old-size.yaml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: breaking
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. otlpreceiver)
7+
component: exporterbatch
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Remove deprecated fields `min_size_items` and `max_size_items` from batch config.
11+
12+
# One or more tracking issues or pull requests related to the change
13+
issues: [12684]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext:
19+
20+
# Optional: The change log or logs in which this entry should be included.
21+
# e.g. '[user]' or '[user, api]'
22+
# Include 'user' if the change is relevant to end users.
23+
# Include 'api' if there is a change to a library API.
24+
# Default: '[user]'
25+
change_logs: [api, user]

exporter/exporterbatcher/config.go

-35
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77
"errors"
88
"fmt"
99
"time"
10-
11-
"go.opentelemetry.io/collector/confmap"
1210
)
1311

1412
// Config defines a configuration for batching requests based on a timeout and a minimum number of items.
@@ -23,11 +21,6 @@ type Config struct {
2321

2422
// SizeConfig sets the size limits for a batch.
2523
SizeConfig `mapstructure:",squash"`
26-
27-
// Deprecated: [v0.121.0] Ignored if SizeConfig is set.
28-
MinSizeConfig `mapstructure:",squash"`
29-
// Deprecated: [v0.121.0] Ignored if SizeConfig is set.
30-
MaxSizeConfig `mapstructure:",squash"`
3124
}
3225

3326
// SizeConfig sets the size limits for a batch.
@@ -40,34 +33,6 @@ type SizeConfig struct {
4033
MaxSize int `mapstructure:"max_size"`
4134
}
4235

43-
// Deprecated: [v0.121.0] use SizeConfig.
44-
type MinSizeConfig struct {
45-
// Deprecated: [v0.121.0] use SizeConfig.MinSize.
46-
MinSizeItems *int `mapstructure:"min_size_items"`
47-
}
48-
49-
// Deprecated: [v0.121.0] use SizeConfig.
50-
type MaxSizeConfig struct {
51-
// Deprecated: [v0.121.0] use SizeConfig.MaxSize.
52-
MaxSizeItems *int `mapstructure:"max_size_items"`
53-
}
54-
55-
func (c *Config) Unmarshal(conf *confmap.Conf) error {
56-
if err := conf.Unmarshal(c); err != nil {
57-
return err
58-
}
59-
60-
if c.MinSizeItems != nil && !conf.IsSet("min_size") {
61-
c.SizeConfig.MinSize = *c.MinSizeItems
62-
}
63-
64-
if c.MaxSizeItems != nil && !conf.IsSet("max_size") {
65-
c.SizeConfig.MaxSize = *c.MaxSizeItems
66-
}
67-
68-
return nil
69-
}
70-
7136
func (c *Config) Validate() error {
7237
if c.FlushTimeout <= 0 {
7338
return errors.New("`flush_timeout` must be greater than zero")

exporter/exporterbatcher/config_test.go

-71
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ import (
77
"testing"
88

99
"github.com/stretchr/testify/require"
10-
11-
"go.opentelemetry.io/collector/confmap"
1210
)
1311

1412
func TestValidateConfig(t *testing.T) {
@@ -49,72 +47,3 @@ func TestValidateSizeConfig(t *testing.T) {
4947
}
5048
require.EqualError(t, cfg.Validate(), "`max_size` must be greater than or equal to mix_size")
5149
}
52-
53-
func TestUnmarshalDeprecatedFields(t *testing.T) {
54-
p111 := 111
55-
p222 := 222
56-
tests := []struct {
57-
name string
58-
input map[string]any
59-
expected Config
60-
}{
61-
{
62-
name: "only_deprecated_fields_used",
63-
input: map[string]any{
64-
"enabled": true,
65-
"flush_timeout": 200,
66-
"min_size_items": 111,
67-
"max_size_items": 222,
68-
},
69-
expected: Config{
70-
Enabled: true,
71-
FlushTimeout: 200,
72-
SizeConfig: SizeConfig{
73-
Sizer: SizerTypeItems,
74-
MinSize: 111,
75-
MaxSize: 222,
76-
},
77-
MinSizeConfig: MinSizeConfig{
78-
MinSizeItems: &p111,
79-
},
80-
MaxSizeConfig: MaxSizeConfig{
81-
MaxSizeItems: &p222,
82-
},
83-
},
84-
},
85-
{
86-
name: "both_new_and_deprecated_fields_used",
87-
input: map[string]any{
88-
"enabled": true,
89-
"flush_timeout": 200,
90-
"min_size_items": 111,
91-
"max_size_items": 222,
92-
"min_size": 11,
93-
"max_size": 22,
94-
},
95-
expected: Config{
96-
Enabled: true,
97-
FlushTimeout: 200,
98-
SizeConfig: SizeConfig{
99-
Sizer: SizerTypeItems,
100-
MinSize: 11,
101-
MaxSize: 22,
102-
},
103-
MinSizeConfig: MinSizeConfig{
104-
MinSizeItems: &p111,
105-
},
106-
MaxSizeConfig: MaxSizeConfig{
107-
MaxSizeItems: &p222,
108-
},
109-
},
110-
},
111-
}
112-
for _, test := range tests {
113-
t.Run(test.name, func(t *testing.T) {
114-
cfg := NewDefaultConfig()
115-
require.NoError(t, cfg.Unmarshal(confmap.NewFromStringMap(test.input)))
116-
require.Equal(t, test.expected, cfg)
117-
require.NoError(t, cfg.Validate())
118-
})
119-
}
120-
}

exporter/exporterhelper/internal/base_exporter.go

-5
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,6 @@ func NewBaseExporter(set exporter.Settings, signal pipeline.Signal, pusher func(
6363
}
6464
}
6565

66-
//nolint:staticcheck
67-
if be.batcherCfg.MinSizeItems != nil || be.batcherCfg.MaxSizeItems != nil {
68-
set.Logger.Warn("Using of deprecated fields `min_size_items` and `max_size_items`")
69-
}
70-
7166
// Consumer Sender is always initialized.
7267
be.firstSender = newSender(pusher)
7368

exporter/exporterhelper/xexporterhelper/go.mod

-7
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,14 @@ require (
2929
github.com/davecgh/go-spew v1.1.1 // indirect
3030
github.com/go-logr/logr v1.4.2 // indirect
3131
github.com/go-logr/stdr v1.2.2 // indirect
32-
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
3332
github.com/gogo/protobuf v1.3.2 // indirect
3433
github.com/google/uuid v1.6.0 // indirect
3534
github.com/hashicorp/go-version v1.7.0 // indirect
3635
github.com/json-iterator/go v1.1.12 // indirect
37-
github.com/knadh/koanf/maps v0.1.1 // indirect
38-
github.com/knadh/koanf/providers/confmap v0.1.0 // indirect
39-
github.com/knadh/koanf/v2 v2.1.2 // indirect
40-
github.com/mitchellh/copystructure v1.2.0 // indirect
41-
github.com/mitchellh/reflectwalk v1.0.2 // indirect
4236
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
4337
github.com/modern-go/reflect2 v1.0.2 // indirect
4438
github.com/pmezard/go-difflib v1.0.0 // indirect
4539
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
46-
go.opentelemetry.io/collector/confmap v1.28.1 // indirect
4740
go.opentelemetry.io/collector/extension v1.28.1 // indirect
4841
go.opentelemetry.io/collector/extension/xextension v0.122.1 // indirect
4942
go.opentelemetry.io/collector/featuregate v1.28.1 // indirect

exporter/exporterhelper/xexporterhelper/go.sum

-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/exportertest/go.mod

-7
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,13 @@ require (
2626
github.com/davecgh/go-spew v1.1.1 // indirect
2727
github.com/go-logr/logr v1.4.2 // indirect
2828
github.com/go-logr/stdr v1.2.2 // indirect
29-
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
3029
github.com/gogo/protobuf v1.3.2 // indirect
3130
github.com/hashicorp/go-version v1.7.0 // indirect
3231
github.com/json-iterator/go v1.1.12 // indirect
33-
github.com/knadh/koanf/maps v0.1.1 // indirect
34-
github.com/knadh/koanf/providers/confmap v0.1.0 // indirect
35-
github.com/knadh/koanf/v2 v2.1.2 // indirect
36-
github.com/mitchellh/copystructure v1.2.0 // indirect
37-
github.com/mitchellh/reflectwalk v1.0.2 // indirect
3832
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
3933
github.com/modern-go/reflect2 v1.0.2 // indirect
4034
github.com/pmezard/go-difflib v1.0.0 // indirect
4135
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
42-
go.opentelemetry.io/collector/confmap v1.28.1 // indirect
4336
go.opentelemetry.io/collector/consumer/xconsumer v0.122.1 // indirect
4437
go.opentelemetry.io/collector/extension v1.28.1 // indirect
4538
go.opentelemetry.io/collector/extension/xextension v0.122.1 // indirect

exporter/exportertest/go.sum

-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/go.mod

-7
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ require (
88
go.opentelemetry.io/collector/component v1.28.1
99
go.opentelemetry.io/collector/component/componenttest v0.122.1
1010
go.opentelemetry.io/collector/config/configretry v1.28.1
11-
go.opentelemetry.io/collector/confmap v1.28.1
1211
go.opentelemetry.io/collector/consumer v1.28.1
1312
go.opentelemetry.io/collector/consumer/consumererror v0.122.1
1413
go.opentelemetry.io/collector/consumer/consumertest v0.122.1
@@ -33,16 +32,10 @@ require (
3332
github.com/davecgh/go-spew v1.1.1 // indirect
3433
github.com/go-logr/logr v1.4.2 // indirect
3534
github.com/go-logr/stdr v1.2.2 // indirect
36-
github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
3735
github.com/gogo/protobuf v1.3.2 // indirect
3836
github.com/google/uuid v1.6.0 // indirect
3937
github.com/hashicorp/go-version v1.7.0 // indirect
4038
github.com/json-iterator/go v1.1.12 // indirect
41-
github.com/knadh/koanf/maps v0.1.1 // indirect
42-
github.com/knadh/koanf/providers/confmap v0.1.0 // indirect
43-
github.com/knadh/koanf/v2 v2.1.2 // indirect
44-
github.com/mitchellh/copystructure v1.2.0 // indirect
45-
github.com/mitchellh/reflectwalk v1.0.2 // indirect
4639
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
4740
github.com/modern-go/reflect2 v1.0.2 // indirect
4841
github.com/pmezard/go-difflib v1.0.0 // indirect

exporter/go.sum

-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)