-
Notifications
You must be signed in to change notification settings - Fork 783
Description
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?