From a4185ae4fe8d00104a8677a059f41192bd4f31e3 Mon Sep 17 00:00:00 2001 From: Limian Zhang <75445426+rzhang10@users.noreply.github.com> Date: Thu, 12 May 2022 10:50:32 -0700 Subject: [PATCH 1/2] Disable default value preserving --- .../src/main/java/org/apache/iceberg/SchemaParser.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/org/apache/iceberg/SchemaParser.java b/core/src/main/java/org/apache/iceberg/SchemaParser.java index 549c64948a..c8186a062b 100644 --- a/core/src/main/java/org/apache/iceberg/SchemaParser.java +++ b/core/src/main/java/org/apache/iceberg/SchemaParser.java @@ -100,7 +100,8 @@ static void toJson(Types.StructType struct, JsonGenerator generator) throws IOEx generator.writeBooleanField(REQUIRED, field.isRequired()); generator.writeFieldName(TYPE); toJson(field.type(), generator); - writeDefaultValue(field.getDefaultValue(), field.type(), generator); + // BDP-xxx: Disable serializing default value +// writeDefaultValue(field.getDefaultValue(), field.type(), generator); if (field.doc() != null) { generator.writeStringField(DOC, field.doc()); } @@ -248,13 +249,14 @@ private static Types.StructType structFromJson(JsonNode json) { int id = JsonUtil.getInt(ID, field); String name = JsonUtil.getString(NAME, field); Type type = typeFromJson(field.get(TYPE)); - Object defaultValue = defaultValueFromJson(field, type); + // BDP-xxx: Disable deserializing default value +// Object defaultValue = defaultValueFromJson(field, type); String doc = JsonUtil.getStringOrNull(DOC, field); boolean isRequired = JsonUtil.getBool(REQUIRED, field); if (isRequired) { - fields.add(Types.NestedField.required(id, name, type, defaultValue, doc)); + fields.add(Types.NestedField.required(id, name, type, doc)); } else { - fields.add(Types.NestedField.optional(id, name, type, defaultValue, doc)); + fields.add(Types.NestedField.optional(id, name, type, doc)); } } From 3dd88be582ba5c8c0ad26508857d911627c53e36 Mon Sep 17 00:00:00 2001 From: Raymond Zhang Date: Thu, 12 May 2022 11:02:25 -0700 Subject: [PATCH 2/2] Add ticket number and ignore test --- core/src/main/java/org/apache/iceberg/SchemaParser.java | 4 ++-- .../org/apache/iceberg/TestSchemaParserForDefaultValues.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/apache/iceberg/SchemaParser.java b/core/src/main/java/org/apache/iceberg/SchemaParser.java index c8186a062b..3664e76ac1 100644 --- a/core/src/main/java/org/apache/iceberg/SchemaParser.java +++ b/core/src/main/java/org/apache/iceberg/SchemaParser.java @@ -100,7 +100,7 @@ static void toJson(Types.StructType struct, JsonGenerator generator) throws IOEx generator.writeBooleanField(REQUIRED, field.isRequired()); generator.writeFieldName(TYPE); toJson(field.type(), generator); - // BDP-xxx: Disable serializing default value + // BDP-11826: Disable serializing default value // writeDefaultValue(field.getDefaultValue(), field.type(), generator); if (field.doc() != null) { generator.writeStringField(DOC, field.doc()); @@ -249,7 +249,7 @@ private static Types.StructType structFromJson(JsonNode json) { int id = JsonUtil.getInt(ID, field); String name = JsonUtil.getString(NAME, field); Type type = typeFromJson(field.get(TYPE)); - // BDP-xxx: Disable deserializing default value + // BDP-11826: Disable deserializing default value // Object defaultValue = defaultValueFromJson(field, type); String doc = JsonUtil.getStringOrNull(DOC, field); boolean isRequired = JsonUtil.getBool(REQUIRED, field); diff --git a/core/src/test/java/org/apache/iceberg/TestSchemaParserForDefaultValues.java b/core/src/test/java/org/apache/iceberg/TestSchemaParserForDefaultValues.java index 853b9ad2b4..690c0dfe05 100644 --- a/core/src/test/java/org/apache/iceberg/TestSchemaParserForDefaultValues.java +++ b/core/src/test/java/org/apache/iceberg/TestSchemaParserForDefaultValues.java @@ -31,6 +31,7 @@ import org.apache.iceberg.relocated.com.google.common.collect.ImmutableMap; import org.apache.iceberg.types.Types.NestedField; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import static org.apache.avro.Schema.Type.BOOLEAN; @@ -42,7 +43,7 @@ import static org.apache.avro.Schema.Type.NULL; import static org.apache.avro.Schema.Type.STRING; - +@Ignore("BDP-11826: Disable default value preserving in iceberg schema") public class TestSchemaParserForDefaultValues { private void assertEqualStructs(org.apache.iceberg.Schema expected, org.apache.iceberg.Schema actual) {