Skip to content

Question: do newer versions of exporters work with older versions of sdk? #4881

@TheCreatorAMA

Description

@TheCreatorAMA

Didn't want to report this as a bug before double checking that it is a setup issue but our services use autoinstrumentation for python via opentel operator image for kuberenetes.

However, when our services start up we saw the following:

from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
File "/src/lib/python3.12/site-packages/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/init.py", line 25, in
from opentelemetry.exporter.otlp.proto.grpc.exporter import ( # noqa: F401
File "/src/lib/python3.12/site-packages/opentelemetry/exporter/otlp/proto/grpc/exporter.py", line 85, in
from opentelemetry.sdk._shared_internal import DuplicateFilter
ImportError: cannot import name 'DuplicateFilter' from 'opentelemetry.sdk._shared_internal' (/otel-auto-instrumentation-python/opentelemetry

This occurs when our service uses a newer version of the opentel sdk such as 0.60b0 but the autoinstrumentation image being used along with it in kuberenetes is 0.57b0. It looks like the newer version of the sdk (v1.37.x-0.58bx) added in the DuplicateFilter which is used in the opentelemetry-exporter-otlp-proto-grpc.

So my question is, when using the autoinstrumentation images along with the sdk, do the versions of the sdk have to match?? Or, should newer versions be backwards compatible?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions