Skip to content

Commit f94976d

Browse files
authored
Merge branch 'main' into fix/14307-aix-crash
2 parents 1564d8f + 2a77c7a commit f94976d

File tree

20 files changed

+229
-7
lines changed

20 files changed

+229
-7
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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: enhancement
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. receiver/otlp)
7+
component: extension/xextension
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Add deprecated type alias support for extensions via `xextension` module
11+
12+
# (Optional) One or more lines of additional information to render under the primary note.
13+
# These lines will be padded with 2 spaces and then inserted directly into the document.
14+
# Use pipe (|) for multiline entries.
15+
subtext: |
16+
Extensions can now register deprecated type aliases using the experimental `xextension.WithDeprecatedTypeAlias` option.
17+
```go
18+
return xextension.NewFactory(
19+
metadata.Type,
20+
createDefaultConfig,
21+
createExtension,
22+
metadata.Stability,
23+
xextension.WithDeprecatedTypeAlias("old_extension_name"),
24+
)
25+
```
26+
When the alias is used in configuration, a deprecation warning will be automatically logged, and the extension will function normally using the original implementation.
27+
28+
# One or more tracking issues or pull requests related to the change
29+
issues: [14208]
30+
31+
# Optional: The change log or logs in which this entry should be included.
32+
# e.g. '[user]' or '[user, api]'
33+
# Include 'user' if the change is relevant to end users.
34+
# Include 'api' if there is a change to a library API.
35+
# Default: '[user]'
36+
change_logs: [api]

config/configauth/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ require (
2020
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
2121
github.com/pmezard/go-difflib v1.0.0 // indirect
2222
go.opentelemetry.io/collector/featuregate v1.49.0 // indirect
23+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
2324
go.opentelemetry.io/collector/pdata v1.49.0 // indirect
2425
go.opentelemetry.io/otel v1.39.0 // indirect
2526
go.opentelemetry.io/otel/metric v1.39.0 // indirect
@@ -44,3 +45,5 @@ replace go.opentelemetry.io/collector/extension/extensionauth/extensionauthtest
4445
replace go.opentelemetry.io/collector/featuregate => ../../featuregate
4546

4647
replace go.opentelemetry.io/collector/internal/testutil => ../../internal/testutil
48+
49+
replace go.opentelemetry.io/collector/internal/componentalias => ../../internal/componentalias

config/configgrpc/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ require (
5555
go.opentelemetry.io/collector/confmap v1.49.0 // indirect
5656
go.opentelemetry.io/collector/confmap/xconfmap v0.143.0 // indirect
5757
go.opentelemetry.io/collector/featuregate v1.49.0 // indirect
58+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
5859
go.opentelemetry.io/collector/pdata/pprofile v0.143.0 // indirect
5960
go.opentelemetry.io/otel/metric v1.39.0 // indirect
6061
go.opentelemetry.io/otel/sdk v1.39.0 // indirect
@@ -117,3 +118,5 @@ replace go.opentelemetry.io/collector/confmap => ../../confmap
117118
replace go.opentelemetry.io/collector/confmap/xconfmap => ../../confmap/xconfmap
118119

119120
replace go.opentelemetry.io/collector/internal/testutil => ../../internal/testutil
121+
122+
replace go.opentelemetry.io/collector/internal/componentalias => ../../internal/componentalias

config/confighttp/go.mod

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,10 @@ require (
3131
golang.org/x/net v0.48.0
3232
)
3333

34-
require github.com/cespare/xxhash/v2 v2.3.0 // indirect
34+
require (
35+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
36+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
37+
)
3538

3639
require (
3740
github.com/davecgh/go-spew v1.1.1 // indirect
@@ -112,3 +115,5 @@ replace go.opentelemetry.io/collector/confmap => ../../confmap
112115
replace go.opentelemetry.io/collector/confmap/xconfmap => ../../confmap/xconfmap
113116

114117
replace go.opentelemetry.io/collector/internal/testutil => ../../internal/testutil
118+
119+
replace go.opentelemetry.io/collector/internal/componentalias => ../../internal/componentalias

config/confighttp/xconfighttp/go.mod

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,5 @@ replace go.opentelemetry.io/collector/confmap => ../../../confmap
109109
replace go.opentelemetry.io/collector/confmap/xconfmap => ../../../confmap/xconfmap
110110

111111
replace go.opentelemetry.io/collector/internal/testutil => ../../../internal/testutil
112+
113+
replace go.opentelemetry.io/collector/internal/componentalias => ../../../internal/componentalias

config/configmiddleware/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ require (
2020
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
2121
github.com/pmezard/go-difflib v1.0.0 // indirect
2222
go.opentelemetry.io/collector/featuregate v1.49.0 // indirect
23+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
2324
go.opentelemetry.io/collector/pdata v1.49.0 // indirect
2425
go.opentelemetry.io/otel v1.39.0 // indirect
2526
go.opentelemetry.io/otel/metric v1.39.0 // indirect
@@ -47,3 +48,5 @@ replace go.opentelemetry.io/collector/featuregate => ../../featuregate
4748
replace go.opentelemetry.io/collector/extension => ../../extension
4849

4950
replace go.opentelemetry.io/collector/internal/testutil => ../../internal/testutil
51+
52+
replace go.opentelemetry.io/collector/internal/componentalias => ../../internal/componentalias

extension/extension.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ package extension // import "go.opentelemetry.io/collector/extension"
55

66
import (
77
"context"
8-
"fmt"
98

109
"go.opentelemetry.io/collector/component"
10+
"go.opentelemetry.io/collector/internal/componentalias"
1111
)
1212

1313
// Extension is the interface for objects hosted by the OpenTelemetry Collector that
@@ -49,6 +49,7 @@ type Factory interface {
4949
type factory struct {
5050
cfgType component.Type
5151
component.CreateDefaultConfigFunc
52+
componentalias.TypeAliasHolder
5253
createFunc CreateFunc
5354
extensionStability component.StabilityLevel
5455
}
@@ -64,8 +65,8 @@ func (f *factory) Stability() component.StabilityLevel {
6465
}
6566

6667
func (f *factory) Create(ctx context.Context, set Settings, cfg component.Config) (Extension, error) {
67-
if set.ID.Type() != f.cfgType {
68-
return nil, fmt.Errorf("component type mismatch: component ID %q does not have type %q", set.ID, f.cfgType)
68+
if err := componentalias.ValidateComponentType(f, set.ID); err != nil {
69+
return nil, err
6970
}
7071

7172
return f.createFunc(ctx, set, cfg)
@@ -81,6 +82,7 @@ func NewFactory(
8182
return &factory{
8283
cfgType: cfgType,
8384
CreateDefaultConfigFunc: createDefaultConfig,
85+
TypeAliasHolder: componentalias.NewTypeAliasHolder(),
8486
createFunc: createServiceExtension,
8587
extensionStability: sl,
8688
}

extension/extensionauth/extensionauthtest/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ require (
2020
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
2121
github.com/pmezard/go-difflib v1.0.0 // indirect
2222
go.opentelemetry.io/collector/featuregate v1.49.0 // indirect
23+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
2324
go.opentelemetry.io/collector/pdata v1.49.0 // indirect
2425
go.opentelemetry.io/otel v1.39.0 // indirect
2526
go.opentelemetry.io/otel/metric v1.39.0 // indirect
@@ -41,3 +42,5 @@ replace go.opentelemetry.io/collector/extension => ../..
4142
replace go.opentelemetry.io/collector/featuregate => ../../../featuregate
4243

4344
replace go.opentelemetry.io/collector/internal/testutil => ../../../internal/testutil
45+
46+
replace go.opentelemetry.io/collector/internal/componentalias => ../../../internal/componentalias

extension/extensioncapabilities/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ require (
2222
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
2323
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
2424
go.opentelemetry.io/collector/featuregate v1.49.0 // indirect
25+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
2526
go.opentelemetry.io/collector/pdata v1.49.0 // indirect
2627
go.opentelemetry.io/otel v1.39.0 // indirect
2728
go.opentelemetry.io/otel/metric v1.39.0 // indirect
@@ -42,3 +43,5 @@ replace go.opentelemetry.io/collector/component => ../../component
4243
replace go.opentelemetry.io/collector/featuregate => ../../featuregate
4344

4445
replace go.opentelemetry.io/collector/internal/testutil => ../../internal/testutil
46+
47+
replace go.opentelemetry.io/collector/internal/componentalias => ../../internal/componentalias

extension/extensionmiddleware/extensionmiddlewaretest/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ require (
1919
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
2020
github.com/pmezard/go-difflib v1.0.0 // indirect
2121
go.opentelemetry.io/collector/featuregate v1.49.0 // indirect
22+
go.opentelemetry.io/collector/internal/componentalias v0.0.0-00010101000000-000000000000 // indirect
2223
go.opentelemetry.io/collector/pdata v1.49.0 // indirect
2324
go.opentelemetry.io/otel v1.39.0 // indirect
2425
go.opentelemetry.io/otel/metric v1.39.0 // indirect
@@ -44,3 +45,5 @@ replace go.opentelemetry.io/collector/extension => ../..
4445
replace go.opentelemetry.io/collector/featuregate => ../../../featuregate
4546

4647
replace go.opentelemetry.io/collector/internal/testutil => ../../../internal/testutil
48+
49+
replace go.opentelemetry.io/collector/internal/componentalias => ../../../internal/componentalias

0 commit comments

Comments
 (0)