-
-
Notifications
You must be signed in to change notification settings - Fork 1
bug(deps): protobuf version incompatibility with chromadb opentelemetry dependencies #3971
Copy link
Copy link
Closed
Labels
bugSomething isn't workingSomething isn't workingdependenciesPull requests that update a dependency filePull requests that update a dependency filedeployment
Description
Issue
ChromaDB initialization fails due to protobuf version mismatch between:
- protobuf 7.34.1 (installed)
- opentelemetry-exporter-otlp-proto-grpc 1.11.1 (depends on older protobuf)
Error: "TypeError: Descriptors cannot be created directly" during ChromaDB startup.
Current Workaround
Added PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python env var to ChromaDB systemd service (39c54cc) to force pure-Python implementation instead of C extension. This is a temporary workaround, not a fix.
Root Cause
chromadb >=1.5.5 has transitive dependency on opentelemetry-exporter-otlp-proto-grpc which contains pre-compiled proto files for protobuf <4.24. Newer protobuf 7.x versions changed descriptor handling, causing incompatibility.
Solution Path
- Check if upstream chromadb/opentelemetry have released fixed versions
- Consider pinning protobuf to <5.0 if necessary, or upgrading chromadb to newer version
- Remove the PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python workaround once root cause is resolved
Related
- Fix applied: 39c54cc (deployment: add PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python to ChromaDB systemd service)
- Session: KB initialization failure debug (2026-04-08)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdependenciesPull requests that update a dependency filePull requests that update a dependency filedeployment