You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "Xianghu Wang (Jira)" <ji...@apache.org> on 2022/09/22 01:25:00 UTC

[jira] [Updated] (HUDI-4894) Fix ClassCastException when using fixed type defining decimal column

     [ https://issues.apache.org/jira/browse/HUDI-4894?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Xianghu Wang updated HUDI-4894:
-------------------------------
    Description: 
schema for decimal column :

{
    "name": "column_name",
    "type": ["null", {
        "type": "fixed",
        "name": "fixed",
        "size": 5,
        "logicalType": "decimal",
        "precision": 10,
        "scale": 2
    }],
    "default": null
}

 

exception:

Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.util.List
at org.apache.hudi.avro.MercifulJsonConverter$9.convert(MercifulJsonConverter.java:254)
at org.apache.hudi.avro.MercifulJsonConverter$JsonToAvroFieldProcessor.convertToAvro(MercifulJsonConverter.java:151)
at org.apache.hudi.avro.MercifulJsonConverter.convertJsonToAvroField(MercifulJsonConverter.java:140)
at org.apache.hudi.avro.MercifulJsonConverter.convertJsonToAvro(MercifulJsonConverter.java:107)
at org.apache.hudi.avro.MercifulJsonConverter.convert(MercifulJsonConverter.java:96)
at org.apache.hudi.utilities.sources.helpers.AvroConvertor.fromJs

  was:
schema for decimal column :

{
        "name": "decimal_column_name",
        "type": ["null", {
            "type": "fixed",
            "name": "fixed",
            "size": 5,
            "logicalType": "decimal",
            "precision": 10,
            "scale": 2
        }],
        "default": null
    }

 

exception:

Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.util.List
at org.apache.hudi.avro.MercifulJsonConverter$9.convert(MercifulJsonConverter.java:254)
at org.apache.hudi.avro.MercifulJsonConverter$JsonToAvroFieldProcessor.convertToAvro(MercifulJsonConverter.java:151)
at org.apache.hudi.avro.MercifulJsonConverter.convertJsonToAvroField(MercifulJsonConverter.java:140)
at org.apache.hudi.avro.MercifulJsonConverter.convertJsonToAvro(MercifulJsonConverter.java:107)
at org.apache.hudi.avro.MercifulJsonConverter.convert(MercifulJsonConverter.java:96)
at org.apache.hudi.utilities.sources.helpers.AvroConvertor.fromJs


> Fix ClassCastException when using fixed type defining decimal column
> --------------------------------------------------------------------
>
>                 Key: HUDI-4894
>                 URL: https://issues.apache.org/jira/browse/HUDI-4894
>             Project: Apache Hudi
>          Issue Type: Bug
>          Components: core
>            Reporter: Xianghu Wang
>            Assignee: Xianghu Wang
>            Priority: Major
>             Fix For: 0.12.1
>
>
> schema for decimal column :
> {
>     "name": "column_name",
>     "type": ["null", {
>         "type": "fixed",
>         "name": "fixed",
>         "size": 5,
>         "logicalType": "decimal",
>         "precision": 10,
>         "scale": 2
>     }],
>     "default": null
> }
>  
> exception:
> Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.util.List
> at org.apache.hudi.avro.MercifulJsonConverter$9.convert(MercifulJsonConverter.java:254)
> at org.apache.hudi.avro.MercifulJsonConverter$JsonToAvroFieldProcessor.convertToAvro(MercifulJsonConverter.java:151)
> at org.apache.hudi.avro.MercifulJsonConverter.convertJsonToAvroField(MercifulJsonConverter.java:140)
> at org.apache.hudi.avro.MercifulJsonConverter.convertJsonToAvro(MercifulJsonConverter.java:107)
> at org.apache.hudi.avro.MercifulJsonConverter.convert(MercifulJsonConverter.java:96)
> at org.apache.hudi.utilities.sources.helpers.AvroConvertor.fromJs



--
This message was sent by Atlassian Jira
(v8.20.10#820010)