You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "shashwatgaur (Jira)" <ji...@apache.org> on 2020/07/13 20:57:00 UTC
[jira] [Commented] (AVRO-2126) avro.io.SchemaResolutionException:
Can't access branch index 36 for union with 2 branches
[ https://issues.apache.org/jira/browse/AVRO-2126?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17156973#comment-17156973 ]
shashwatgaur commented on AVRO-2126:
------------------------------------
Hi, Any idea , why this issue([ avro.io.SchemaResolutionException: Can't access branch index 55 for union with 2 branches|https://stackoverflow.com/questions/62844195/kafka-python-avro-io-schemaresolutionexception-cant-access-branch-index-55-f]) happen?? Is it schema mismatch at reader's and writer's side or some data issue? What exactly?
I am using kafka-python to read AVRO data and I am stuck with this issue. I already followed the thread [https://stackoverflow.com/questions/44407780/how-to-decode-deserialize-kafka-avro-strings-with-python] to skip 5 bytes but still no luck.
Following is my code:
{code:java}
for message in consumer:
message_val = message.value
message_bytes = io.BytesIO(message_val[5:])
decoder = BinaryDecoder(message_bytes)
event_dict = reader.read(decoder)
print(event_dict){code}
Thanks,
> avro.io.SchemaResolutionException: Can't access branch index 36 for union with 2 branches
> -----------------------------------------------------------------------------------------
>
> Key: AVRO-2126
> URL: https://issues.apache.org/jira/browse/AVRO-2126
> Project: Apache Avro
> Issue Type: Bug
> Components: python
> Affects Versions: 1.8.2
> Environment: Python 3.5.2, avro-python3 1.8.2
> Reporter: Jurgis Pods
> Priority: Major
>
> I get the following error when decoding messages from Kafka via avro-python3:
> {code}
> avro.io.SchemaResolutionException: Can't access branch index 36 for union with 2 branches
> Writer's Schema: [
> "null",
> "string"
> ]
> Reader's Schema: [
> "null",
> "string"
> ]
> {code}
> Relevant code producing this error:
> {code}
> import avro.schema
> import avro.io
> import io
> def parse_avro(value, schema):
> bytes_reader = io.BytesIO(value)
> decoder = avro.io.BinaryDecoder(bytes_reader)
> reader = avro.io.DatumReader(schema)
> return reader.read(decoder)
> # msg: Message from Kafka, schema: avro.schema.Schema from Confluent Schema Registry
> parse_avro(msg.value, avro_schema)
> {code}
> I have no idea where the number 36 might come from.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)