-
Notifications
You must be signed in to change notification settings - Fork 919
Open
Labels
component:schema-registryAny schema registry related isues rather than kafka isolated onesAny schema registry related isues rather than kafka isolated ones
Description
Running version 2.6.1 of the library, this is approximately my code:
class FooSerializer:
def __init__(self, topic: str, schema_registry: ConfluentSchemaRegistryClient):
self._topic = topic
self._protobuf_serializer = ProtobufSerializer(
Foo,
schema_registry,
conf={
"auto.register.schemas": False,
"use.deprecated.format": False,
"use.latest.version": True,
},
)
def serialize(self, foo: Foo) -> bytearray:
return self._protobuf_serializer(foo, SerializationContext(self._topic, MessageField.VALUE))
where Foo
is some proto class already registered as the schema for the topic. This works exactly as I expect.
After upgrading to 2.7.x or 2.8.0, the same exact code hits an exception ending in this traceback:
return self._protobuf_serializer(foo, SerializationContext(self._topic, MessageField.VALUE))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/testrunner/.local/lib/python3.11/site-packages/confluent_kafka/schema_registry/protobuf.py", line 582, in __call__
fd_proto, pool = self._get_parsed_schema(latest_schema.schema)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/testrunner/.local/lib/python3.11/site-packages/confluent_kafka/schema_registry/protobuf.py", line 610, in _get_parsed_schema
_resolve_named_schema(schema, self._registry, pool)
File "/home/testrunner/.local/lib/python3.11/site-packages/confluent_kafka/schema_registry/protobuf.py", line 207, in _resolve_named_schema
_resolve_named_schema(referenced_schema.schema, schema_registry_client, pool, visited)
File "/home/testrunner/.local/lib/python3.11/site-packages/confluent_kafka/schema_registry/protobuf.py", line 208, in _resolve_named_schema
file_descriptor_proto = _str_to_proto(ref.name, referenced_schema.schema.schema_str)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/testrunner/.local/lib/python3.11/site-packages/confluent_kafka/schema_registry/protobuf.py", line 182, in _str_to_proto
raise SerializationError(str(e))
confluent_kafka.serialization.SerializationError: Error parsing message
I didn't see anything in the changelogs that indicated there was a breaking change here. Am I missing a change or is there some other problem? Any other information I can provide?
franciellyferreira
Metadata
Metadata
Assignees
Labels
component:schema-registryAny schema registry related isues rather than kafka isolated onesAny schema registry related isues rather than kafka isolated ones