-
Notifications
You must be signed in to change notification settings - Fork 36
Move to Avro 1.10.2 #82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
ac3d485 to
4c7c31c
Compare
|
@rzhang10 FYI |
hive-metastore/src/main/java/org/apache/iceberg/hive/legacy/LegacyHiveTableUtils.java
Outdated
Show resolved
Hide resolved
4c7c31c to
befeb29
Compare
|
I see a comment in upstream #1648 apache/iceberg#1648 (comment) , should we also consider using 1.10.1 instead of 1.10.2 ? |
@rzhang10 the avro parser feature to disable defaults validation exists starting avro 1.10.2, and this PR is mainly to use it. And yes I saw that comment and spent significant time to fix the jackson issue (the changes in build.gradle, specifically |
Iceberg currently uses Avro 1.9, which throws an Exception for Malformed/wrong-typed default values. Now that we added support for default-values in Iceberg, for ORC and AVRO formats, this might cause trouble with ecosystems that uses AVRO 1.7, which only warns about malformed/wrong-typed defaults values and silently sets no-default-value. Avro 1.10.2 provides an API that gives the caller the option to skip validating the default value.
Note: it will still fail at the Iceberg schema level, given wronged-typed default value, which will give the caller the meaningful error to correct their schema.