Skip to content

[exporter/elasticsearch] Don't log version conflict errors if these are expected #38598

@rockdaboot

Description

@rockdaboot

Component(s)

exporter/elasticsearch

What happened?

Description

For profiling, version conflicts when writing documents into k/v indices are expected and should be ignored. Currently, these are logged as errors. To not clutter logs, these errors from Es should not even be logged in debug mode.

Steps to Reproduce

Build the collector with elasticsearchexporter and go.opentelemetry.io/ebpf-profiler as receiver.
Configure to export to an Elasticsearch instance and run the collector.

Expected Result

None

Actual Result

Example output:

2025-03-13T11:36:55.699+0100    error   elasticsearchexporter/bulkindexer.go:359        failed to index document        {"otelcol.component.id": "elasticsearch", "otelcol.component.kind": "Exporter", "otelcol.signal": "profiles", "index": ".profiling-stackframes-v001-000001", "error.type": "version_conflict_engine_exception", "error.reason": "[zmx2UHDFWwhtW92j5VhG8gAAAAAAAAAB]: version conflict, document already exists (current version [1])"}

Collector version

v0.121.0

Environment information

Environment

Linux

OpenTelemetry Collector configuration

dist:
  name: profiling-collector
  description: Profiling OTel Collector distribution
  output_path: ./collector


processors:
  - gomod:
      github.com/open-telemetry/opentelemetry-collector-contrib/processor/resourcedetectionprocessor v0.121.0

exporters:
  - gomod:
      go.opentelemetry.io/collector/exporter/debugexporter v0.121.0
  - gomod:
      go.opentelemetry.io/collector/exporter/otlpexporter v0.121.0
  - gomod:
      github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter v0.121.0
    import: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter
    name: elasticsearchexporter
    path: ../../open-telemetry/opentelemetry-collector-contrib/exporter/elasticsearchexporter


receivers:
  - gomod: go.opentelemetry.io/ebpf-profiler v0.0.1
    import: go.opentelemetry.io/ebpf-profiler/collector
    name: profilesreceiver
    path: ../../open-telemetry/opentelemetry-ebpf-profiler
  - gomod:
      go.opentelemetry.io/collector/receiver/otlpreceiver v0.121.0

replaces:
  - github.com/openshift/api v3.9.0+incompatible => github.com/openshift/api v0.0.0-20180801171038-322a19404e37

Log output

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions