From 949f3e6aeb46afbb9dca7c9195866971a96f5b6a Mon Sep 17 00:00:00 2001 From: Antoine Toulme Date: Tue, 3 Oct 2023 02:45:05 -0700 Subject: [PATCH] [exporter/parquet] Deprecate Parquet Exporter (#27290) **Description:** Deprecate Parquet exporter before removing it altogether. **Link to tracking Issue:** #27285 --- .chloggen/deprecate-parquet.yaml | 27 +++++++++++++++++++ cmd/configschema/go.mod | 3 --- cmd/otelcontribcol/builder-config.yaml | 2 -- cmd/otelcontribcol/components.go | 2 -- .../distribution_metadata_test.go | 10 +++++++ cmd/otelcontribcol/exporters_test.go | 10 ------- cmd/otelcontribcol/go.mod | 3 --- exporter/parquetexporter/README.md | 4 +-- exporter/parquetexporter/doc.go | 2 ++ exporter/parquetexporter/factory.go | 1 + exporter/parquetexporter/go.mod | 1 + .../internal/metadata/generated_status.go | 6 ++--- exporter/parquetexporter/metadata.yaml | 2 +- go.mod | 3 --- internal/components/components.go | 2 -- 15 files changed, 47 insertions(+), 31 deletions(-) create mode 100644 .chloggen/deprecate-parquet.yaml diff --git a/.chloggen/deprecate-parquet.yaml b/.chloggen/deprecate-parquet.yaml new file mode 100644 index 000000000000..2923b8c0ee1a --- /dev/null +++ b/.chloggen/deprecate-parquet.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: breaking + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: parquetexporter + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Deprecate the Parquet Exporter, it will be removed in the next release. + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [27284] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index a461dc5f7671..3e1ade4048dd 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -47,7 +47,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logzioexporter v0.86.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.86.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.86.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter v0.86.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.86.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.86.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.86.0 // indirect @@ -791,8 +790,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmo replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ../../exporter/opencensusexporter -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter => ../../exporter/parquetexporter - replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter => ../../exporter/prometheusexporter replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter => ../../exporter/prometheusremotewriteexporter diff --git a/cmd/otelcontribcol/builder-config.yaml b/cmd/otelcontribcol/builder-config.yaml index f994cd286306..40adcc0288f8 100644 --- a/cmd/otelcontribcol/builder-config.yaml +++ b/cmd/otelcontribcol/builder-config.yaml @@ -65,7 +65,6 @@ exporters: - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.86.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.86.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.86.0 - - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter v0.86.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.86.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.86.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.86.0 @@ -393,7 +392,6 @@ replaces: - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/sshcheckreceiver => ../../receiver/sshcheckreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datadogreceiver => ../../receiver/datadogreceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver => ../../receiver/chronyreceiver - - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter => ../../exporter/parquetexporter - github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver => ../../extension/observer/ecstaskobserver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver => ../../receiver/lokireceiver - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/filestatsreceiver => ../../receiver/filestatsreceiver diff --git a/cmd/otelcontribcol/components.go b/cmd/otelcontribcol/components.go index 2a7ec8310801..878d2914314c 100644 --- a/cmd/otelcontribcol/components.go +++ b/cmd/otelcontribcol/components.go @@ -56,7 +56,6 @@ import ( lokiexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter" mezmoexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter" opencensusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - parquetexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter" prometheusexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" prometheusremotewriteexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter" pulsarexporter "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter" @@ -356,7 +355,6 @@ func components() (otelcol.Factories, error) { lokiexporter.NewFactory(), mezmoexporter.NewFactory(), opencensusexporter.NewFactory(), - parquetexporter.NewFactory(), prometheusexporter.NewFactory(), prometheusremotewriteexporter.NewFactory(), pulsarexporter.NewFactory(), diff --git a/cmd/otelcontribcol/distribution_metadata_test.go b/cmd/otelcontribcol/distribution_metadata_test.go index 37e0e5f534cf..fd0a4751bafa 100644 --- a/cmd/otelcontribcol/distribution_metadata_test.go +++ b/cmd/otelcontribcol/distribution_metadata_test.go @@ -36,17 +36,27 @@ func TestComponentsArePresent(t *testing.T) { return } inDevelopment := true + deprecated := true for stability, pipelines := range m.Status.Stability { if stability != "development" && len(pipelines) > 0 { inDevelopment = false break } + if stability != "deprecated" && len(pipelines) > 0 { + deprecated = false + break + } } if inDevelopment { tt.Skip("component in development, skipping", metadataComponent) return } + + if deprecated { + tt.Skip("component deprecated, skipping", metadataComponent) + return + } switch m.Status.Class { case "connector": assert.NotNil(tt, components.Connectors[component.Type(m.Type)], "missing connector: %s", m.Type) diff --git a/cmd/otelcontribcol/exporters_test.go b/cmd/otelcontribcol/exporters_test.go index 96d4d310fcab..a433a16fff37 100644 --- a/cmd/otelcontribcol/exporters_test.go +++ b/cmd/otelcontribcol/exporters_test.go @@ -48,7 +48,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter" @@ -137,15 +136,6 @@ func TestDefaultExporters(t *testing.T) { return cfg }, }, - { - exporter: "parquet", - getConfigFn: func() component.Config { - cfg := expFactories["parquet"].CreateDefaultConfig().(*parquetexporter.Config) - cfg.Path = t.TempDir() - return cfg - }, - skipLifecycle: true, // Causes race detector to fail - }, { exporter: "prometheus", getConfigFn: func() component.Config { diff --git a/cmd/otelcontribcol/go.mod b/cmd/otelcontribcol/go.mod index b1f679999db4..f7cc26a3a791 100644 --- a/cmd/otelcontribcol/go.mod +++ b/cmd/otelcontribcol/go.mod @@ -41,7 +41,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.86.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.86.0 @@ -1087,8 +1086,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/datad replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/chronyreceiver => ../../receiver/chronyreceiver -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter => ../../exporter/parquetexporter - replace github.com/open-telemetry/opentelemetry-collector-contrib/extension/observer/ecstaskobserver => ../../extension/observer/ecstaskobserver replace github.com/open-telemetry/opentelemetry-collector-contrib/receiver/lokireceiver => ../../receiver/lokireceiver diff --git a/exporter/parquetexporter/README.md b/exporter/parquetexporter/README.md index e465823e9f5a..0898fc1e3208 100644 --- a/exporter/parquetexporter/README.md +++ b/exporter/parquetexporter/README.md @@ -3,12 +3,12 @@ | Status | | | ------------- |-----------| -| Stability | [development]: traces, metrics, logs | +| Stability | [deprecated]: traces, metrics, logs | | Distributions | [contrib] | | Issues | [![Open issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aopen%20label%3Aexporter%2Fparquet%20&label=open&color=orange&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aopen+is%3Aissue+label%3Aexporter%2Fparquet) [![Closed issues](https://img.shields.io/github/issues-search/open-telemetry/opentelemetry-collector-contrib?query=is%3Aissue%20is%3Aclosed%20label%3Aexporter%2Fparquet%20&label=closed&color=blue&logo=opentelemetry)](https://github.com/open-telemetry/opentelemetry-collector-contrib/issues?q=is%3Aclosed+is%3Aissue+label%3Aexporter%2Fparquet) | | [Code Owners](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/CONTRIBUTING.md#becoming-a-code-owner) | [@atoulme](https://www.github.com/atoulme) | -[development]: https://github.com/open-telemetry/opentelemetry-collector#development +[deprecated]: https://github.com/open-telemetry/opentelemetry-collector#deprecated [contrib]: https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-contrib diff --git a/exporter/parquetexporter/doc.go b/exporter/parquetexporter/doc.go index 67a186d6d569..1fb42a89191d 100644 --- a/exporter/parquetexporter/doc.go +++ b/exporter/parquetexporter/doc.go @@ -4,4 +4,6 @@ //go:generate mdatagen metadata.yaml // Package parquetexporter implements an exporter that writes data to Parquet files. +// +// Deprecated: this component is no longer developed and will be removed in the next release. package parquetexporter // import "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter" diff --git a/exporter/parquetexporter/factory.go b/exporter/parquetexporter/factory.go index a4c61c65fb83..93b676aafd7f 100644 --- a/exporter/parquetexporter/factory.go +++ b/exporter/parquetexporter/factory.go @@ -18,6 +18,7 @@ type Config struct { } // NewFactory creates a factory for the Parquet exporter. +// Deprecated: this exporter is no longer supported and will be removed in the next version. func NewFactory() exporter.Factory { return exporter.NewFactory( metadata.Type, diff --git a/exporter/parquetexporter/go.mod b/exporter/parquetexporter/go.mod index d3db1293c24c..dcc129f37ae7 100644 --- a/exporter/parquetexporter/go.mod +++ b/exporter/parquetexporter/go.mod @@ -1,3 +1,4 @@ +// Deprecated: this component is no longer developed and will be removed in the next release. module github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter go 1.20 diff --git a/exporter/parquetexporter/internal/metadata/generated_status.go b/exporter/parquetexporter/internal/metadata/generated_status.go index 062f9ffdb615..7c4c49a0917a 100644 --- a/exporter/parquetexporter/internal/metadata/generated_status.go +++ b/exporter/parquetexporter/internal/metadata/generated_status.go @@ -8,7 +8,7 @@ import ( const ( Type = "parquet" - TracesStability = component.StabilityLevelDevelopment - MetricsStability = component.StabilityLevelDevelopment - LogsStability = component.StabilityLevelDevelopment + TracesStability = component.StabilityLevelDeprecated + MetricsStability = component.StabilityLevelDeprecated + LogsStability = component.StabilityLevelDeprecated ) diff --git a/exporter/parquetexporter/metadata.yaml b/exporter/parquetexporter/metadata.yaml index c94d38add903..718a9e59ba14 100644 --- a/exporter/parquetexporter/metadata.yaml +++ b/exporter/parquetexporter/metadata.yaml @@ -3,7 +3,7 @@ type: parquet status: class: exporter stability: - development: [traces, metrics, logs] + deprecated: [traces, metrics, logs] distributions: [contrib] codeowners: active: [atoulme] diff --git a/go.mod b/go.mod index 3fce74772606..7b97d4a046a2 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,6 @@ require ( github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter v0.86.0 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter v0.86.0 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter v0.86.0 @@ -790,8 +789,6 @@ replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmo replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter => ./exporter/opencensusexporter -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter => ./exporter/parquetexporter - replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter => ./exporter/prometheusexporter replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter => ./exporter/prometheusremotewriteexporter diff --git a/internal/components/components.go b/internal/components/components.go index 0efe70924446..2555806fd655 100644 --- a/internal/components/components.go +++ b/internal/components/components.go @@ -48,7 +48,6 @@ import ( "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/lokiexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/mezmoexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/opencensusexporter" - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/parquetexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/prometheusremotewriteexporter" "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/pulsarexporter" @@ -340,7 +339,6 @@ func Components() (otelcol.Factories, error) { opencensusexporter.NewFactory(), otlpexporter.NewFactory(), otlphttpexporter.NewFactory(), - parquetexporter.NewFactory(), prometheusexporter.NewFactory(), prometheusremotewriteexporter.NewFactory(), pulsarexporter.NewFactory(),