You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Tobias Fielitz (Jira)" <ji...@apache.org> on 2022/06/15 08:52: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=17554467#comment-17554467 ] 

Tobias Fielitz commented on AVRO-2126:
--------------------------------------

Same issue here:
{code:java}
avro.errors.SchemaResolutionException: Can't access branch index 23 for union with 2 branches
Writer's Schema: [
  "null",
  "string"
]
Reader's Schema: [
  "null",
  "string"
]{code}
Skipping first 5 bytes already.

Did anyone solve this? Know how to debug or even know what this error means?

I am fetching the schema directly from the kafka schema registry and a message from the queue with matching topic. I don't see why there should be any mismatch.

> 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.20.7#820007)