You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/11/30 12:30:00 UTC

[jira] [Work logged] (AVRO-3218) Pass LogicalType to BytesDecimalSchema in Python

     [ https://issues.apache.org/jira/browse/AVRO-3218?focusedWorklogId=687977&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-687977 ]

ASF GitHub Bot logged work on AVRO-3218:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 30/Nov/21 12:29
            Start Date: 30/Nov/21 12:29
    Worklog Time Spent: 10m 
      Work Description: vegraux commented on pull request #1350:
URL: https://github.com/apache/avro/pull/1350#issuecomment-982591226


   @RyanSkraba Is there a place I can check to see what is planned to be included in future releases? Would really appreciate to get this in 1.11.1, it is a really annoying bug


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@avro.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 687977)
    Time Spent: 50m  (was: 40m)

> Pass LogicalType to BytesDecimalSchema in Python
> ------------------------------------------------
>
>                 Key: AVRO-3218
>                 URL: https://issues.apache.org/jira/browse/AVRO-3218
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: python
>    Affects Versions: 1.10.2
>         Environment: I am using  avro 1.10.2. Example file to reproduce the problem. 
> [^issue.py]
>            Reporter: Vegard Solberg
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: issue.py
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> I get an error when parsing a schema which contains a field with `logicalType=decimal` in Python. Spesifically, I am using avro.schema.parse() on a schema which have a field on the following format: 
> {code:java}
> { "name": "myField", "type": [ "null", { "type": "bytes", "logicalType": "decimal", "precision": 12, "scale": 2 } ]}
> {code}
> Eventually, make_bytes_decimal_schema() is called. At this point, the variable other_props looks like this (and is fine):
>  
> {code:java}
> other_props = {'logicalType': 'decimal', 'precision': 12, 'scale': 2}{code}
>  
> Unlike the other logical types, the variable other_props is not passed on to BytesDecimalSchema. The result is that the resulting logical_schema is missing the key-value pair 'logicalType': 'decimal'. This blocks me from writing to a kafka topic, because the schema is parsed incorrectly.  The resulting field looks like this:
> {code:java}
> {"type": ["null", {"type": "bytes", "precision": 12, "scale": 2}], "name": "myField"}
> {code}
>  
> The suggested fix is to simply pass other_props as an argument into BytesDecimalSchema(). The attached file [^issue.py]contains code to reproduce the bug
>  
> This commit contains the suggested changes: [AVRO-3218 Fix parsing of logicalType = decimal · vegraux/avro@b5c4a78 (github.com)|https://github.com/vegraux/avro/commit/b5c4a78bc314bdecb6e1b7b32ba5d02ab8670c72]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)