This is an automated email from the ASF dual-hosted git repository. alexvanboxel pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/beam.git
The following commit(s) were added to refs/heads/master by this push: new d68d433 [BEAM-9360] Fix equivalence check for FieldType new 8d253ac Merge pull request #10943 from [BEAM-9360] Fix equivalence check for FieldType d68d433 is described below commit d68d433fcfde22ee1b8159130c33d4b0c50fe38d Author: Jozef Vilcek <jvil...@zetaglobal.com> AuthorDate: Sat Feb 22 10:03:53 2020 +0100 [BEAM-9360] Fix equivalence check for FieldType --- .../main/java/org/apache/beam/sdk/schemas/Schema.java | 3 --- .../java/org/apache/beam/sdk/schemas/SchemaTest.java | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java index fc6eb5e..2ca53bd 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/Schema.java @@ -815,9 +815,6 @@ public class Schema implements Serializable { if (!getTypeName().equals(other.getTypeName())) { return false; } - if (!Objects.equals(getMetadata(), other.getMetadata())) { - return false; - } switch (getTypeName()) { case ROW: diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java index 1369f59..cc47678 100644 --- a/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java +++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/SchemaTest.java @@ -237,6 +237,22 @@ public class SchemaTest { } @Test + public void testFieldsWithDifferentMetadataAreEquivalent() { + Field foo = Field.of("foo", FieldType.STRING); + Field fooWithMetadata = Field.of("foo", FieldType.STRING.withMetadata("key", "value")); + + Schema schema1 = Schema.builder().addField(foo).build(); + Schema schema2 = Schema.builder().addField(foo).build(); + assertEquals(schema1, schema2); + assertTrue(schema1.equivalent(schema2)); + + schema1 = Schema.builder().addField(foo).build(); + schema2 = Schema.builder().addField(fooWithMetadata).build(); + assertNotEquals(schema1, schema2); + assertTrue(schema1.equivalent(schema2)); + } + + @Test public void testNestedNotEquivalent() { Schema nestedSchema1 = Schema.builder().addInt64Field("foo").build(); Schema nestedSchema2 = Schema.builder().addStringField("foo").build();