traceloop / traceloop/openllmetry
🐛 Bug Report: `opentelemetry-instrumentation-qdrant` is incompatible with `qdrant-client` version `1.16.1`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7.4k
- Forks
- 1.1k
- Avg merge
- 8d 14h
- Merged PRs (30d)
- 2
Description
I have just upgraded qdrant-client to v1.16.1 and with opentelemetry-insturmentation-qdrant of v0.48.1 I am getting attribute error. Traceback:
chatbot | File "/usr/src/chatbot/app/libs/otel.py", line 144, in init_otel_instrumentation
chatbot | QdrantInstrumentor().instrument(tracer_provider=otel_provider)
chatbot | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chatbot | File "/usr/src/chatbot/.venv/lib/python3.13/site-packages/opentelemetry/instrumentation/instrumentor.py", line 125, in instrument
chatbot | result = self._instrument( # pylint: disable=assignment-from-no-return
chatbot | **kwargs
chatbot | )
chatbot | File "/usr/src/chatbot/.venv/lib/python3.13/site-packages/opentelemetry/instrumentation/qdrant/__init__.py", line 55, in _instrument
chatbot | wrap_function_wrapper(
chatbot | ~~~~~~~~~~~~~~~~~~~~~^
chatbot | MODULE,
chatbot | ^^^^^^^
chatbot | f"{wrap_object}.{wrap_method}",
chatbot | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chatbot | _wrap(tracer, wrapped_method),
chatbot | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chatbot | )
chatbot | ^
chatbot | File "/usr/src/chatbot/.venv/lib/python3.13/site-packages/wrapt/patches.py", line 114, in wrap_function_wrapper
chatbot | return wrap_object(module, name, FunctionWrapper, (wrapper,))
chatbot | File "/usr/src/chatbot/.venv/lib/python3.13/site-packages/wrapt/patches.py", line 60, in wrap_object
chatbot | (parent, attribute, original) = resolve_path(module, name)
chatbot | ~~~~~~~~~~~~^^^^^^^^^^^^^^
chatbot | File "/usr/src/chatbot/.venv/lib/python3.13/site-packages/wrapt/patches.py", line 52, in resolve_path
chatbot | original = lookup_attribute(parent, attribute)
chatbot | File "/usr/src/chatbot/.venv/lib/python3.13/site-packages/wrapt/patches.py", line 44, in lookup_attribute
chatbot | return getattr(parent, attribute)
chatbot | AttributeError: type object 'QdrantClient' has no attribute 'upload_records'
Apparently, upload_records is no longer a method of QdrantClient, maybe some other methods are missing, I haven't checked that
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at opentelemetry/instrumentation/qdrant/init.py, where QdrantInstrumentor().instrument attempts to wrap upload_records, and compare those wrapped methods with qdrant-client 1.16.1. Check whether other referenced methods are also missing. Done means instrumentation initializes without AttributeError against that client version, with regression coverage for the compatibility case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- observability
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100