This is an automated email from the ASF dual-hosted git repository. aljoscha pushed a commit to branch release-1.11 in repository https://gitbox.apache.org/repos/asf/flink.git
commit cbf64fc62ea545673906fbabac06cb0318d884f0 Author: klion26 <qcx978132...@gmail.com> AuthorDate: Sat Feb 15 15:15:12 2020 +0800 [FLINK-13632] Port ValueArraySerializer upgrade test to TypeSerializerUpgradeTestBase --- .../ValueArraySerializerSnapshotMigrationTest.java | 93 ---- .../ValueArraySerializerUpgradeTest.java | 523 +++++++++++++++++++++ .../flink-1.6-byte-value-array-serializer-data | Bin 70 -> 0 bytes .../flink-1.6-byte-value-array-serializer-snapshot | Bin 404 -> 0 bytes .../flink-1.6-char-value-array-serializer-data | Bin 240 -> 0 bytes .../flink-1.6-char-value-array-serializer-snapshot | Bin 404 -> 0 bytes .../flink-1.6-double-value-array-serializer-data | Bin 280 -> 0 bytes ...link-1.6-double-value-array-serializer-snapshot | Bin 408 -> 0 bytes .../flink-1.6-float-value-array-serializer-data | Bin 160 -> 0 bytes ...flink-1.6-float-value-array-serializer-snapshot | Bin 406 -> 0 bytes .../flink-1.6-int-value-array-serializer-data | Bin 160 -> 0 bytes .../flink-1.6-int-value-array-serializer-snapshot | Bin 402 -> 0 bytes .../flink-1.6-long-value-array-serializer-data | Bin 280 -> 0 bytes .../flink-1.6-long-value-array-serializer-snapshot | Bin 404 -> 0 bytes .../flink-1.6-null-value-array-serializer-data | Bin 40 -> 0 bytes .../flink-1.6-null-value-array-serializer-snapshot | Bin 404 -> 0 bytes .../flink-1.6-short-value-array-serializer-data | Bin 100 -> 0 bytes ...flink-1.6-short-value-array-serializer-snapshot | Bin 406 -> 0 bytes .../flink-1.6-string-value-array-serializer-data | Bin 280 -> 0 bytes ...link-1.6-string-value-array-serializer-snapshot | Bin 408 -> 0 bytes .../flink-1.7-byte-value-array-serializer-data | Bin 70 -> 0 bytes .../flink-1.7-byte-value-array-serializer-snapshot | Bin 392 -> 0 bytes .../flink-1.7-char-value-array-serializer-data | Bin 240 -> 0 bytes .../flink-1.7-char-value-array-serializer-snapshot | Bin 392 -> 0 bytes .../flink-1.7-double-value-array-serializer-data | Bin 280 -> 0 bytes ...link-1.7-double-value-array-serializer-snapshot | Bin 396 -> 0 bytes .../flink-1.7-float-value-array-serializer-data | Bin 160 -> 0 bytes ...flink-1.7-float-value-array-serializer-snapshot | Bin 394 -> 0 bytes .../flink-1.7-int-value-array-serializer-data | Bin 160 -> 0 bytes .../flink-1.7-int-value-array-serializer-snapshot | Bin 390 -> 0 bytes .../flink-1.7-long-value-array-serializer-data | Bin 280 -> 0 bytes .../flink-1.7-long-value-array-serializer-snapshot | Bin 392 -> 0 bytes .../flink-1.7-null-value-array-serializer-data | Bin 40 -> 0 bytes .../flink-1.7-null-value-array-serializer-snapshot | Bin 392 -> 0 bytes .../flink-1.7-short-value-array-serializer-data | Bin 100 -> 0 bytes ...flink-1.7-short-value-array-serializer-snapshot | Bin 394 -> 0 bytes .../flink-1.7-string-value-array-serializer-data | Bin 280 -> 0 bytes ...link-1.7-string-value-array-serializer-snapshot | Bin 396 -> 0 bytes 38 files changed, 523 insertions(+), 93 deletions(-) diff --git a/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerSnapshotMigrationTest.java b/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerSnapshotMigrationTest.java deleted file mode 100644 index e9f0be2..0000000 --- a/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerSnapshotMigrationTest.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.flink.graph.types.valuearray; - -import org.apache.flink.api.common.typeutils.TypeSerializerSnapshotMigrationTestBase; -import org.apache.flink.testutils.migration.MigrationVersion; - -import org.junit.runner.RunWith; -import org.junit.runners.Parameterized; - -import java.util.Collection; - -/** - * Migration tests for boxed-value array serializer snapshots. - */ -@RunWith(Parameterized.class) -public class ValueArraySerializerSnapshotMigrationTest extends TypeSerializerSnapshotMigrationTestBase<Object> { - - public ValueArraySerializerSnapshotMigrationTest(TestSpecification<Object> testSpecification) { - super(testSpecification); - } - - @SuppressWarnings("unchecked") - @Parameterized.Parameters(name = "Test Specification = {0}") - public static Collection<TestSpecification<?>> testSpecifications() { - - final TestSpecifications testSpecifications = new TestSpecifications(MigrationVersion.v1_6, MigrationVersion.v1_7); - - testSpecifications.add( - "byte-value-array-serializer", - ByteValueArraySerializer.class, - ByteValueArraySerializer.ByteValueArraySerializerSnapshot.class, - ByteValueArraySerializer::new); - testSpecifications.add( - "char-value-array-serializer", - CharValueArraySerializer.class, - CharValueArraySerializer.CharValueArraySerializerSnapshot.class, - CharValueArraySerializer::new); - testSpecifications.add( - "double-value-array-serializer", - DoubleValueArraySerializer.class, - DoubleValueArraySerializer.DoubleValueArraySerializerSnapshot.class, - DoubleValueArraySerializer::new); - testSpecifications.add( - "float-value-array-serializer", - FloatValueArraySerializer.class, - FloatValueArraySerializer.FloatValueArraySerializerSnapshot.class, - FloatValueArraySerializer::new); - testSpecifications.add( - "int-value-array-serializer", - IntValueArraySerializer.class, - IntValueArraySerializer.IntValueArraySerializerSnapshot.class, - IntValueArraySerializer::new); - testSpecifications.add( - "long-value-array-serializer", - LongValueArraySerializer.class, - LongValueArraySerializer.LongValueArraySerializerSnapshot.class, - LongValueArraySerializer::new); - testSpecifications.add( - "null-value-array-serializer", - NullValueArraySerializer.class, - NullValueArraySerializer.NullValueArraySerializerSnapshot.class, - NullValueArraySerializer::new); - testSpecifications.add( - "short-value-array-serializer", - ShortValueArraySerializer.class, - ShortValueArraySerializer.ShortValueArraySerializerSnapshot.class, - ShortValueArraySerializer::new); - testSpecifications.add( - "string-value-array-serializer", - StringValueArraySerializer.class, - StringValueArraySerializer.StringValueArraySerializerSnapshot.class, - StringValueArraySerializer::new); - - return testSpecifications.get(); - } -} diff --git a/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerUpgradeTest.java b/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerUpgradeTest.java new file mode 100644 index 0000000..65022f3 --- /dev/null +++ b/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerUpgradeTest.java @@ -0,0 +1,523 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.flink.graph.types.valuearray; + +import org.apache.flink.api.common.typeutils.TypeSerializer; +import org.apache.flink.api.common.typeutils.TypeSerializerMatchers; +import org.apache.flink.api.common.typeutils.TypeSerializerSchemaCompatibility; +import org.apache.flink.api.common.typeutils.TypeSerializerUpgradeTestBase; +import org.apache.flink.testutils.migration.MigrationVersion; +import org.apache.flink.types.ByteValue; +import org.apache.flink.types.CharValue; +import org.apache.flink.types.DoubleValue; +import org.apache.flink.types.FloatValue; +import org.apache.flink.types.IntValue; +import org.apache.flink.types.LongValue; +import org.apache.flink.types.NullValue; +import org.apache.flink.types.ShortValue; +import org.apache.flink.types.StringValue; + +import org.hamcrest.Matcher; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +import java.util.ArrayList; +import java.util.Collection; + +import static org.hamcrest.Matchers.is; + +/** + * Migration tests for boxed-value array serializer snapshots. + */ +@RunWith(Parameterized.class) +public class ValueArraySerializerUpgradeTest extends TypeSerializerUpgradeTestBase<Object, Object> { + + public ValueArraySerializerUpgradeTest(TestSpecification<Object, Object> testSpecification) { + super(testSpecification); + } + + @Parameterized.Parameters(name = "Test Specification = {0}") + public static Collection<TestSpecification<?, ?>> testSpecifications() throws Exception { + ArrayList<TestSpecification<?, ?>> testSpecifications = new ArrayList<>(); + for (MigrationVersion migrationVersion : MIGRATION_VERSIONS) { + testSpecifications.add( + new TestSpecification<>( + "byte-value-array-serializer", + migrationVersion, + ByteValueArraySerializerSetup.class, + ByteValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "char-value-array-serializer", + migrationVersion, + CharValueArraySerializerSetup.class, + CharValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "double-value-array-serializer", + migrationVersion, + DoubleValueArraySerializerSetup.class, + DoubleValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "float-value-array-serializer", + migrationVersion, + FloatValueArraySerializerSetup.class, + FloatValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "int-value-array-serializer", + migrationVersion, + IntValueArraySerializerSetup.class, + IntValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "long-value-array-serializer", + migrationVersion, + LongValueArraySerializerSetup.class, + LongValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "null-value-array-serializer", + migrationVersion, + NullValueArraySerializerSetup.class, + NullValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "short-value-array-serializer", + migrationVersion, + ShortValueArraySerializerSetup.class, + ShortValueArraySerializerVerifier.class)); + testSpecifications.add( + new TestSpecification<>( + "string-value-array-serializer", + migrationVersion, + StringValueArraySerializerSetup.class, + StringValueArraySerializerVerifier.class)); + } + return testSpecifications; + } + + // ---------------------------------------------------------------------------------------------- + // Specification for "byte-value-array-serializer" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class ByteValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<ByteValueArray> { + @Override + public TypeSerializer<ByteValueArray> createPriorSerializer() { + return new ByteValueArraySerializer(); + } + + @Override + public ByteValueArray createTestData() { + ByteValueArray byteValues = new ByteValueArray(12345); + byteValues.add(new ByteValue((byte) 123)); + byteValues.add(new ByteValue((byte) 345)); + return byteValues; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class ByteValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<ByteValueArray> { + @Override + public TypeSerializer<ByteValueArray> createUpgradedSerializer() { + return new ByteValueArraySerializer(); + } + + @Override + public Matcher<ByteValueArray> testDataMatcher() { + ByteValueArray byteValues = new ByteValueArray(12345); + byteValues.add(new ByteValue((byte) 123)); + byteValues.add(new ByteValue((byte) 345)); + return is(byteValues); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<ByteValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for "char-value-array serializer" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class CharValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<CharValueArray> { + @Override + public TypeSerializer<CharValueArray> createPriorSerializer() { + return new CharValueArraySerializer(); + } + + @Override + public CharValueArray createTestData() { + CharValueArray array = new CharValueArray(128); + array.add(new CharValue((char) 23)); + array.add(new CharValue((char) 34)); + array.add(new CharValue((char) 45)); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class CharValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<CharValueArray> { + @Override + public TypeSerializer<CharValueArray> createUpgradedSerializer() { + return new CharValueArraySerializer(); + } + + @Override + public Matcher<CharValueArray> testDataMatcher() { + CharValueArray array = new CharValueArray(128); + array.add(new CharValue((char) 23)); + array.add(new CharValue((char) 34)); + array.add(new CharValue((char) 45)); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<CharValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for ""double-value-array-serializer"" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class DoubleValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<DoubleValueArray> { + @Override + public TypeSerializer<DoubleValueArray> createPriorSerializer() { + return new DoubleValueArraySerializer(); + } + + @Override + public DoubleValueArray createTestData() { + DoubleValueArray array = new DoubleValueArray(128); + array.add(new DoubleValue(1.2)); + array.add(new DoubleValue(3.4)); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class DoubleValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<DoubleValueArray> { + @Override + public TypeSerializer<DoubleValueArray> createUpgradedSerializer() { + return new DoubleValueArraySerializer(); + } + + @Override + public Matcher<DoubleValueArray> testDataMatcher() { + DoubleValueArray array = new DoubleValueArray(128); + array.add(new DoubleValue(1.2)); + array.add(new DoubleValue(3.4)); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<DoubleValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for ""float-value-array-serializer"" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class FloatValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<FloatValueArray> { + @Override + public TypeSerializer<FloatValueArray> createPriorSerializer() { + return new FloatValueArraySerializer(); + } + + @Override + public FloatValueArray createTestData() { + FloatValueArray array = new FloatValueArray(128); + array.add(new FloatValue(1.2f)); + array.add(new FloatValue(3.4f)); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class FloatValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<FloatValueArray> { + @Override + public TypeSerializer<FloatValueArray> createUpgradedSerializer() { + return new FloatValueArraySerializer(); + } + + @Override + public Matcher<FloatValueArray> testDataMatcher() { + FloatValueArray array = new FloatValueArray(128); + array.add(new FloatValue(1.2f)); + array.add(new FloatValue(3.4f)); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<FloatValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for "int-value-array-serializer" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class IntValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<IntValueArray> { + @Override + public TypeSerializer<IntValueArray> createPriorSerializer() { + return new IntValueArraySerializer(); + } + + @Override + public IntValueArray createTestData() { + IntValueArray array = new IntValueArray(128); + array.add(new IntValue(123)); + array.add(new IntValue(456)); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class IntValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<IntValueArray> { + @Override + public TypeSerializer<IntValueArray> createUpgradedSerializer() { + return new IntValueArraySerializer(); + } + + @Override + public Matcher<IntValueArray> testDataMatcher() { + IntValueArray array = new IntValueArray(128); + array.add(new IntValue(123)); + array.add(new IntValue(456)); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<IntValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for "long-value-array-serializer" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class LongValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<LongValueArray> { + @Override + public TypeSerializer<LongValueArray> createPriorSerializer() { + return new LongValueArraySerializer(); + } + + @Override + public LongValueArray createTestData() { + LongValueArray array = new LongValueArray(128); + array.add(new LongValue(123L)); + array.add(new LongValue(456L)); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class LongValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<LongValueArray> { + @Override + public TypeSerializer<LongValueArray> createUpgradedSerializer() { + return new LongValueArraySerializer(); + } + + @Override + public Matcher<LongValueArray> testDataMatcher() { + LongValueArray array = new LongValueArray(128); + array.add(new LongValue(123L)); + array.add(new LongValue(456L)); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<LongValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for "null-value-array-serializer" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class NullValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<NullValueArray> { + @Override + public TypeSerializer<NullValueArray> createPriorSerializer() { + return new NullValueArraySerializer(); + } + + @Override + public NullValueArray createTestData() { + NullValueArray array = new NullValueArray(128); + array.add(new NullValue()); + array.add(new NullValue()); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class NullValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<NullValueArray> { + @Override + public TypeSerializer<NullValueArray> createUpgradedSerializer() { + return new NullValueArraySerializer(); + } + + @Override + public Matcher<NullValueArray> testDataMatcher() { + NullValueArray array = new NullValueArray(128); + array.add(new NullValue()); + array.add(new NullValue()); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<NullValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for ""short-value-array-serializer"" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class ShortValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<ShortValueArray> { + @Override + public TypeSerializer<ShortValueArray> createPriorSerializer() { + return new ShortValueArraySerializer(); + } + + @Override + public ShortValueArray createTestData() { + ShortValueArray array = new ShortValueArray(128); + array.add(new ShortValue((short) 123)); + array.add(new ShortValue((short) 456)); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class ShortValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<ShortValueArray> { + @Override + public TypeSerializer<ShortValueArray> createUpgradedSerializer() { + return new ShortValueArraySerializer(); + } + + @Override + public Matcher<ShortValueArray> testDataMatcher() { + ShortValueArray array = new ShortValueArray(128); + array.add(new ShortValue((short) 123)); + array.add(new ShortValue((short) 456)); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<ShortValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } + + // ---------------------------------------------------------------------------------------------- + // Specification for ""string-value-array-serializer"" + // ---------------------------------------------------------------------------------------------- + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class StringValueArraySerializerSetup implements TypeSerializerUpgradeTestBase.PreUpgradeSetup<StringValueArray> { + @Override + public TypeSerializer<StringValueArray> createPriorSerializer() { + return new StringValueArraySerializer(); + } + + @Override + public StringValueArray createTestData() { + StringValueArray array = new StringValueArray(128); + array.add(new StringValue("123")); + array.add(new StringValue("456")); + return array; + } + } + + /** + * This class is only public to work with {@link org.apache.flink.api.common.typeutils.ClassRelocator}. + */ + public static final class StringValueArraySerializerVerifier implements TypeSerializerUpgradeTestBase.UpgradeVerifier<StringValueArray> { + @Override + public TypeSerializer<StringValueArray> createUpgradedSerializer() { + return new StringValueArraySerializer(); + } + + @Override + public Matcher<StringValueArray> testDataMatcher() { + StringValueArray array = new StringValueArray(128); + array.add(new StringValue("123")); + array.add(new StringValue("456")); + return is(array); + } + + @Override + public Matcher<TypeSerializerSchemaCompatibility<StringValueArray>> schemaCompatibilityMatcher(MigrationVersion version) { + return TypeSerializerMatchers.isCompatibleAsIs(); + } + } +} diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-data deleted file mode 100644 index a03b9c2..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-snapshot deleted file mode 100644 index f23bb4d..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-data deleted file mode 100644 index 918413b..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-snapshot deleted file mode 100644 index efec125..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-data deleted file mode 100644 index a144299..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-snapshot deleted file mode 100644 index fce23b9..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-data deleted file mode 100644 index dc10ffb..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-snapshot deleted file mode 100644 index a2cc5d9..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-data deleted file mode 100644 index 6966366..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-snapshot deleted file mode 100644 index 08dd772..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-data deleted file mode 100644 index b6f6e75..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-snapshot deleted file mode 100644 index 4650904..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-data deleted file mode 100644 index 806e8ab..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-snapshot deleted file mode 100644 index 15bac11..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-data deleted file mode 100644 index b51a799..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-snapshot deleted file mode 100644 index 04f4fbb..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-data deleted file mode 100644 index 0dd9644..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-snapshot deleted file mode 100644 index fba2b16..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-data deleted file mode 100644 index a03b9c2..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-snapshot deleted file mode 100644 index 3489a4f..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-data deleted file mode 100644 index 918413b..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-snapshot deleted file mode 100644 index 80987e5..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-data deleted file mode 100644 index a144299..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-snapshot deleted file mode 100644 index 8af7a6e..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-data deleted file mode 100644 index dc10ffb..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-snapshot deleted file mode 100644 index b981c5d..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-data deleted file mode 100644 index 6966366..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-snapshot deleted file mode 100644 index 1842963..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-data deleted file mode 100644 index b6f6e75..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-snapshot deleted file mode 100644 index c24e00a..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-data deleted file mode 100644 index 806e8ab..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-snapshot deleted file mode 100644 index 9b8db64..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-data deleted file mode 100644 index b51a799..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-snapshot deleted file mode 100644 index 32de4d4..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-snapshot and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-data deleted file mode 100644 index 0dd9644..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-data and /dev/null differ diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-snapshot deleted file mode 100644 index af2ae9d..0000000 Binary files a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-snapshot and /dev/null differ