You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tz...@apache.org on 2019/01/23 09:22:50 UTC

[flink] 05/05: [FLINK-11328] [tests] Add serializer migration tests for all parameterless serializers

This is an automated email from the ASF dual-hosted git repository.

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit c73f2b5ddfec39878accefa4447c648de0be248f
Author: Tzu-Li (Gordon) Tai <tz...@apache.org>
AuthorDate: Fri Jan 18 15:01:19 2019 +0100

    [FLINK-11328] [tests] Add serializer migration tests for all parameterless serializers
    
    This closes #7553.
---
 .../KafkaSerializerSnapshotsMigrationTest.java     |  59 +++++++++++++
 .../flink-1.6-context-state-serializer-data        | Bin 0 -> 270 bytes
 .../flink-1.6-context-state-serializer-snapshot    | Bin 0 -> 452 bytes
 .../flink-1.6-transaction-state-serializer-data    | Bin 0 -> 110 bytes
 ...flink-1.6-transaction-state-serializer-snapshot | Bin 0 -> 460 bytes
 .../flink-1.7-context-state-serializer-data        | Bin 0 -> 270 bytes
 .../flink-1.7-context-state-serializer-snapshot    | Bin 0 -> 440 bytes
 .../flink-1.7-transaction-state-serializer-data    | Bin 0 -> 110 bytes
 ...flink-1.7-transaction-state-serializer-snapshot | Bin 0 -> 448 bytes
 .../KafkaSerializerSnapshotsMigrationTest.java     |  59 +++++++++++++
 .../flink-1.7-context-state-serializer-data        | Bin 0 -> 270 bytes
 .../flink-1.7-context-state-serializer-snapshot    | Bin 0 -> 434 bytes
 .../flink-1.7-transaction-state-serializer-data    | Bin 0 -> 110 bytes
 ...flink-1.7-transaction-state-serializer-snapshot | Bin 0 -> 442 bytes
 .../cep/NFASerializerSnapshotsMigrationTest.java   |  78 +++++++++++++++++
 .../flink-1.6-dewey-number-serializer-data         | Bin 0 -> 80 bytes
 .../flink-1.6-dewey-number-serializer-snapshot     | Bin 0 -> 547 bytes
 .../resources/flink-1.6-event-id-serializer-data   | Bin 0 -> 120 bytes
 .../flink-1.6-event-id-serializer-snapshot         | Bin 0 -> 402 bytes
 .../resources/flink-1.6-node-id-serializer-data    | Bin 0 -> 250 bytes
 .../flink-1.6-node-id-serializer-snapshot          | Bin 0 -> 398 bytes
 .../flink-1.6-shared-buffer-edge-serializer-data   | Bin 0 -> 330 bytes
 ...link-1.6-shared-buffer-edge-serializer-snapshot | Bin 0 -> 438 bytes
 .../flink-1.6-shared-buffer-node-serializer-data   | Bin 0 -> 370 bytes
 ...link-1.6-shared-buffer-node-serializer-snapshot | Bin 0 -> 775 bytes
 .../flink-1.7-dewey-number-serializer-data         | Bin 0 -> 80 bytes
 .../flink-1.7-dewey-number-serializer-snapshot     | Bin 0 -> 535 bytes
 .../resources/flink-1.7-event-id-serializer-data   | Bin 0 -> 120 bytes
 .../flink-1.7-event-id-serializer-snapshot         | Bin 0 -> 390 bytes
 .../resources/flink-1.7-node-id-serializer-data    | Bin 0 -> 250 bytes
 .../flink-1.7-node-id-serializer-snapshot          | Bin 0 -> 386 bytes
 .../flink-1.7-shared-buffer-edge-serializer-data   | Bin 0 -> 330 bytes
 ...link-1.7-shared-buffer-edge-serializer-snapshot | Bin 0 -> 426 bytes
 .../flink-1.7-shared-buffer-node-serializer-data   | Bin 0 -> 370 bytes
 ...link-1.7-shared-buffer-node-serializer-snapshot | Bin 0 -> 763 bytes
 flink-libraries/flink-gelly-examples/pom.xml       |   8 ++
 ...perHashCodeSerializerSnapshotMigrationTest.java |  55 ++++++++++++
 ...ong-value-with-proper-hash-code-serializer-data | Bin 0 -> 80 bytes
 ...value-with-proper-hash-code-serializer-snapshot | Bin 0 -> 488 bytes
 ...ong-value-with-proper-hash-code-serializer-data | Bin 0 -> 80 bytes
 ...value-with-proper-hash-code-serializer-snapshot | Bin 0 -> 476 bytes
 .../ValueArraySerializerSnapshotMigrationTest.java |  93 +++++++++++++++++++++
 .../flink-1.6-byte-value-array-serializer-data     | Bin 0 -> 70 bytes
 .../flink-1.6-byte-value-array-serializer-snapshot | Bin 0 -> 404 bytes
 .../flink-1.6-char-value-array-serializer-data     | Bin 0 -> 240 bytes
 .../flink-1.6-char-value-array-serializer-snapshot | Bin 0 -> 404 bytes
 .../flink-1.6-double-value-array-serializer-data   | Bin 0 -> 280 bytes
 ...link-1.6-double-value-array-serializer-snapshot | Bin 0 -> 408 bytes
 .../flink-1.6-float-value-array-serializer-data    | Bin 0 -> 160 bytes
 ...flink-1.6-float-value-array-serializer-snapshot | Bin 0 -> 406 bytes
 .../flink-1.6-int-value-array-serializer-data      | Bin 0 -> 160 bytes
 .../flink-1.6-int-value-array-serializer-snapshot  | Bin 0 -> 402 bytes
 .../flink-1.6-long-value-array-serializer-data     | Bin 0 -> 280 bytes
 .../flink-1.6-long-value-array-serializer-snapshot | Bin 0 -> 404 bytes
 .../flink-1.6-null-value-array-serializer-data     | Bin 0 -> 40 bytes
 .../flink-1.6-null-value-array-serializer-snapshot | Bin 0 -> 404 bytes
 .../flink-1.6-short-value-array-serializer-data    | Bin 0 -> 100 bytes
 ...flink-1.6-short-value-array-serializer-snapshot | Bin 0 -> 406 bytes
 .../flink-1.6-string-value-array-serializer-data   | Bin 0 -> 280 bytes
 ...link-1.6-string-value-array-serializer-snapshot | Bin 0 -> 408 bytes
 .../resources/flink-1.7-array-list-serializer-data | Bin 0 -> 240 bytes
 .../flink-1.7-array-list-serializer-snapshot       | Bin 0 -> 231 bytes
 ...k-1.7-avro-generic-type-serializer-address-data | Bin 0 -> 240 bytes
 ...7-avro-generic-type-serializer-address-snapshot | Bin 0 -> 370 bytes
 .../flink-1.7-avro-type-serializer-address-data    | Bin 0 -> 240 bytes
 ...flink-1.7-avro-type-serializer-address-snapshot | Bin 0 -> 380 bytes
 .../flink-1.7-byte-value-array-serializer-data     | Bin 0 -> 70 bytes
 .../flink-1.7-byte-value-array-serializer-snapshot | Bin 0 -> 392 bytes
 .../flink-1.7-char-value-array-serializer-data     | Bin 0 -> 240 bytes
 .../flink-1.7-char-value-array-serializer-snapshot | Bin 0 -> 392 bytes
 .../flink-1.7-double-value-array-serializer-data   | Bin 0 -> 280 bytes
 ...link-1.7-double-value-array-serializer-snapshot | Bin 0 -> 396 bytes
 .../resources/flink-1.7-either-serializer-data     |   1 +
 .../resources/flink-1.7-either-serializer-snapshot | Bin 0 -> 383 bytes
 .../flink-1.7-float-value-array-serializer-data    | Bin 0 -> 160 bytes
 ...flink-1.7-float-value-array-serializer-snapshot | Bin 0 -> 394 bytes
 .../flink-1.7-int-value-array-serializer-data      | Bin 0 -> 160 bytes
 .../flink-1.7-int-value-array-serializer-snapshot  | Bin 0 -> 390 bytes
 .../flink-1.7-long-value-array-serializer-data     | Bin 0 -> 280 bytes
 .../flink-1.7-long-value-array-serializer-snapshot | Bin 0 -> 392 bytes
 .../flink-1.7-null-value-array-serializer-data     | Bin 0 -> 40 bytes
 .../flink-1.7-null-value-array-serializer-snapshot | Bin 0 -> 392 bytes
 .../flink-1.7-short-value-array-serializer-data    | Bin 0 -> 100 bytes
 ...flink-1.7-short-value-array-serializer-snapshot | Bin 0 -> 394 bytes
 .../flink-1.7-string-value-array-serializer-data   | Bin 0 -> 280 bytes
 ...link-1.7-string-value-array-serializer-snapshot | Bin 0 -> 396 bytes
 .../state/JavaSerializerSnapshotMigrationTest.java |  57 +++++++++++++
 ...dNamespacieSerializerSnapshotMigrationTest.java |  55 ++++++++++++
 .../test/resources/flink-1.6-java-serializer-data  | Bin 0 -> 180 bytes
 .../resources/flink-1.6-java-serializer-snapshot   | Bin 0 -> 366 bytes
 .../flink-1.6-void-namespace-serializer-data       | Bin 0 -> 10 bytes
 .../flink-1.6-void-namespace-serializer-snapshot   | Bin 0 -> 384 bytes
 .../test/resources/flink-1.7-java-serializer-data  | Bin 0 -> 180 bytes
 .../resources/flink-1.7-java-serializer-snapshot   | Bin 0 -> 354 bytes
 .../flink-1.7-void-namespace-serializer-data       | Bin 0 -> 10 bytes
 .../flink-1.7-void-namespace-serializer-snapshot   | Bin 0 -> 372 bytes
 .../WindowSerializerSnapshotsMigrationTest.java    |  60 +++++++++++++
 .../flink-1.6-global-window-serializer-data        | Bin 0 -> 10 bytes
 .../flink-1.6-global-window-serializer-snapshot    | Bin 0 -> 420 bytes
 .../flink-1.6-time-window-serializer-data          | Bin 0 -> 160 bytes
 .../flink-1.6-time-window-serializer-snapshot      | Bin 0 -> 416 bytes
 .../flink-1.7-global-window-serializer-data        | Bin 0 -> 10 bytes
 .../flink-1.7-global-window-serializer-snapshot    | Bin 0 -> 408 bytes
 .../flink-1.7-time-window-serializer-data          | Bin 0 -> 160 bytes
 .../flink-1.7-time-window-serializer-snapshot      | Bin 0 -> 404 bytes
 105 files changed, 525 insertions(+)

diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaSerializerSnapshotsMigrationTest.java b/flink-connectors/flink-connector-kafka-0.11/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaSerializerSnapshotsMigrationTest.java
new file mode 100644
index 0000000..85272c8
--- /dev/null
+++ b/flink-connectors/flink-connector-kafka-0.11/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaSerializerSnapshotsMigrationTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.streaming.connectors.kafka;
+
+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 the {@link FlinkKafkaProducer011.TransactionStateSerializer}
+ * and {@link FlinkKafkaProducer011.ContextStateSerializer}.
+ */
+@RunWith(Parameterized.class)
+public class KafkaSerializerSnapshotsMigrationTest extends TypeSerializerSnapshotMigrationTestBase<Object> {
+
+	public KafkaSerializerSnapshotsMigrationTest(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(
+			"transaction-state-serializer",
+			FlinkKafkaProducer011.TransactionStateSerializer.class,
+			FlinkKafkaProducer011.TransactionStateSerializer.TransactionStateSerializerSnapshot.class,
+			FlinkKafkaProducer011.TransactionStateSerializer::new);
+		testSpecifications.add(
+			"context-state-serializer",
+			FlinkKafkaProducer011.ContextStateSerializer.class,
+			FlinkKafkaProducer011.ContextStateSerializer.ContextStateSerializerSnapshot.class,
+			FlinkKafkaProducer011.ContextStateSerializer::new);
+
+		return testSpecifications.get();
+	}
+}
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-context-state-serializer-data b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-context-state-serializer-data
new file mode 100644
index 0000000..e7d439a
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-context-state-serializer-data differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-context-state-serializer-snapshot b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-context-state-serializer-snapshot
new file mode 100644
index 0000000..f6f36e7
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-context-state-serializer-snapshot differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-transaction-state-serializer-data b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-transaction-state-serializer-data
new file mode 100644
index 0000000..2476af5
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-transaction-state-serializer-data differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-transaction-state-serializer-snapshot b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-transaction-state-serializer-snapshot
new file mode 100644
index 0000000..87182ea
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.6-transaction-state-serializer-snapshot differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-context-state-serializer-data b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-context-state-serializer-data
new file mode 100644
index 0000000..e7d439a
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-context-state-serializer-data differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-context-state-serializer-snapshot b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-context-state-serializer-snapshot
new file mode 100644
index 0000000..870f4b4
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-context-state-serializer-snapshot differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-transaction-state-serializer-data b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-transaction-state-serializer-data
new file mode 100644
index 0000000..2476af5
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-transaction-state-serializer-data differ
diff --git a/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-transaction-state-serializer-snapshot b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-transaction-state-serializer-snapshot
new file mode 100644
index 0000000..52370eb
Binary files /dev/null and b/flink-connectors/flink-connector-kafka-0.11/src/test/resources/flink-1.7-transaction-state-serializer-snapshot differ
diff --git a/flink-connectors/flink-connector-kafka/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaSerializerSnapshotsMigrationTest.java b/flink-connectors/flink-connector-kafka/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaSerializerSnapshotsMigrationTest.java
new file mode 100644
index 0000000..ac69205
--- /dev/null
+++ b/flink-connectors/flink-connector-kafka/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaSerializerSnapshotsMigrationTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.streaming.connectors.kafka;
+
+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 the {@link FlinkKafkaProducer.TransactionStateSerializer}
+ * and {@link FlinkKafkaProducer.ContextStateSerializer}.
+ */
+@RunWith(Parameterized.class)
+public class KafkaSerializerSnapshotsMigrationTest extends TypeSerializerSnapshotMigrationTestBase<Object> {
+
+	public KafkaSerializerSnapshotsMigrationTest(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_7);
+
+		testSpecifications.add(
+			"transaction-state-serializer",
+			FlinkKafkaProducer.TransactionStateSerializer.class,
+			FlinkKafkaProducer.TransactionStateSerializer.TransactionStateSerializerSnapshot.class,
+			FlinkKafkaProducer.TransactionStateSerializer::new);
+		testSpecifications.add(
+			"context-state-serializer",
+			FlinkKafkaProducer.ContextStateSerializer.class,
+			FlinkKafkaProducer.ContextStateSerializer.ContextStateSerializerSnapshot.class,
+			FlinkKafkaProducer.ContextStateSerializer::new);
+
+		return testSpecifications.get();
+	}
+}
diff --git a/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-context-state-serializer-data b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-context-state-serializer-data
new file mode 100644
index 0000000..e7d439a
Binary files /dev/null and b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-context-state-serializer-data differ
diff --git a/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-context-state-serializer-snapshot b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-context-state-serializer-snapshot
new file mode 100644
index 0000000..14f0dd4
Binary files /dev/null and b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-context-state-serializer-snapshot differ
diff --git a/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-transaction-state-serializer-data b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-transaction-state-serializer-data
new file mode 100644
index 0000000..2476af5
Binary files /dev/null and b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-transaction-state-serializer-data differ
diff --git a/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-transaction-state-serializer-snapshot b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-transaction-state-serializer-snapshot
new file mode 100644
index 0000000..35063ba
Binary files /dev/null and b/flink-connectors/flink-connector-kafka/src/test/resources/flink-1.7-transaction-state-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/NFASerializerSnapshotsMigrationTest.java b/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/NFASerializerSnapshotsMigrationTest.java
new file mode 100644
index 0000000..0d8d999
--- /dev/null
+++ b/flink-libraries/flink-cep/src/test/java/org/apache/flink/cep/NFASerializerSnapshotsMigrationTest.java
@@ -0,0 +1,78 @@
+/*
+ * 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.cep;
+
+import org.apache.flink.api.common.typeutils.TypeSerializerSnapshotMigrationTestBase;
+import org.apache.flink.cep.nfa.DeweyNumber;
+import org.apache.flink.cep.nfa.sharedbuffer.EventId;
+import org.apache.flink.cep.nfa.sharedbuffer.NodeId;
+import org.apache.flink.cep.nfa.sharedbuffer.SharedBufferEdge;
+import org.apache.flink.cep.nfa.sharedbuffer.SharedBufferNode;
+import org.apache.flink.testutils.migration.MigrationVersion;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.util.Collection;
+
+/**
+ * Migration tests for NFA-related serializers.
+ */
+@RunWith(Parameterized.class)
+public class NFASerializerSnapshotsMigrationTest extends TypeSerializerSnapshotMigrationTestBase<Object> {
+
+	public NFASerializerSnapshotsMigrationTest(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(
+			"event-id-serializer",
+			EventId.EventIdSerializer.class,
+			EventId.EventIdSerializer.EventIdSerializerSnapshot.class,
+			() -> EventId.EventIdSerializer.INSTANCE);
+		testSpecifications.add(
+			"node-id-serializer",
+			NodeId.NodeIdSerializer.class,
+			NodeId.NodeIdSerializer.NodeIdSerializerSnapshot.class,
+			NodeId.NodeIdSerializer::new);
+		testSpecifications.add(
+			"dewey-number-serializer",
+			DeweyNumber.DeweyNumberSerializer.class,
+			DeweyNumber.DeweyNumberSerializer.DeweyNumberSerializerSnapshot.class,
+			() -> DeweyNumber.DeweyNumberSerializer.INSTANCE);
+		testSpecifications.add(
+			"shared-buffer-edge-serializer",
+			SharedBufferEdge.SharedBufferEdgeSerializer.class,
+			SharedBufferEdge.SharedBufferEdgeSerializer.SharedBufferEdgeSerializerSnapshot.class,
+			SharedBufferEdge.SharedBufferEdgeSerializer::new);
+		testSpecifications.add(
+			"shared-buffer-node-serializer",
+			SharedBufferNode.SharedBufferNodeSerializer.class,
+			SharedBufferNode.SharedBufferNodeSerializer.SharedBufferNodeSerializerSnapshot.class,
+			SharedBufferNode.SharedBufferNodeSerializer::new);
+
+		return testSpecifications.get();
+	}
+}
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-dewey-number-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.6-dewey-number-serializer-data
new file mode 100644
index 0000000..75d3d21
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-dewey-number-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-dewey-number-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.6-dewey-number-serializer-snapshot
new file mode 100644
index 0000000..027167e
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-dewey-number-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-event-id-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.6-event-id-serializer-data
new file mode 100644
index 0000000..840f83d
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-event-id-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-event-id-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.6-event-id-serializer-snapshot
new file mode 100644
index 0000000..0d1a700
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-event-id-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-node-id-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.6-node-id-serializer-data
new file mode 100644
index 0000000..7a4f46e
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-node-id-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-node-id-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.6-node-id-serializer-snapshot
new file mode 100644
index 0000000..4f9053e
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-node-id-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-edge-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-edge-serializer-data
new file mode 100644
index 0000000..5979627
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-edge-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-edge-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-edge-serializer-snapshot
new file mode 100644
index 0000000..af0016b
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-edge-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-node-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-node-serializer-data
new file mode 100644
index 0000000..8fe40f6
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-node-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-node-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-node-serializer-snapshot
new file mode 100644
index 0000000..3071b83
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.6-shared-buffer-node-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-dewey-number-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.7-dewey-number-serializer-data
new file mode 100644
index 0000000..75d3d21
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-dewey-number-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-dewey-number-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.7-dewey-number-serializer-snapshot
new file mode 100644
index 0000000..3dae669
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-dewey-number-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-event-id-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.7-event-id-serializer-data
new file mode 100644
index 0000000..5e4f6bf
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-event-id-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-event-id-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.7-event-id-serializer-snapshot
new file mode 100644
index 0000000..c824699
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-event-id-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-node-id-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.7-node-id-serializer-data
new file mode 100644
index 0000000..ed21712
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-node-id-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-node-id-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.7-node-id-serializer-snapshot
new file mode 100644
index 0000000..ba4c1c7
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-node-id-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-edge-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-edge-serializer-data
new file mode 100644
index 0000000..3546983
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-edge-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-edge-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-edge-serializer-snapshot
new file mode 100644
index 0000000..db33009
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-edge-serializer-snapshot differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-node-serializer-data b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-node-serializer-data
new file mode 100644
index 0000000..fb81606
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-node-serializer-data differ
diff --git a/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-node-serializer-snapshot b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-node-serializer-snapshot
new file mode 100644
index 0000000..fab3567
Binary files /dev/null and b/flink-libraries/flink-cep/src/test/resources/flink-1.7-shared-buffer-node-serializer-snapshot differ
diff --git a/flink-libraries/flink-gelly-examples/pom.xml b/flink-libraries/flink-gelly-examples/pom.xml
index a3e9661..d7253ac 100644
--- a/flink-libraries/flink-gelly-examples/pom.xml
+++ b/flink-libraries/flink-gelly-examples/pom.xml
@@ -110,6 +110,14 @@
 			<version>${project.version}</version>
 			<scope>test</scope>
 		</dependency>
+
+		<dependency>
+			<groupId>org.apache.flink</groupId>
+			<artifactId>flink-core</artifactId>
+			<version>${project.version}</version>
+			<scope>test</scope>
+			<type>test-jar</type>
+		</dependency>
 	</dependencies>
 
 	<build>
diff --git a/flink-libraries/flink-gelly-examples/src/test/java/org/apache/flink/graph/drivers/transform/LongValueWithProperHashCodeSerializerSnapshotMigrationTest.java b/flink-libraries/flink-gelly-examples/src/test/java/org/apache/flink/graph/drivers/transform/LongValueWithProperHashCodeSerializerSnapshotMigrationTest.java
new file mode 100644
index 0000000..d996f22
--- /dev/null
+++ b/flink-libraries/flink-gelly-examples/src/test/java/org/apache/flink/graph/drivers/transform/LongValueWithProperHashCodeSerializerSnapshotMigrationTest.java
@@ -0,0 +1,55 @@
+/*
+ * 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.drivers.transform;
+
+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 {@link LongValueWithProperHashCode.LongValueWithProperHashCodeSerializer}.
+ */
+@RunWith(Parameterized.class)
+public class LongValueWithProperHashCodeSerializerSnapshotMigrationTest
+		extends TypeSerializerSnapshotMigrationTestBase<LongValueWithProperHashCode> {
+
+	public LongValueWithProperHashCodeSerializerSnapshotMigrationTest(
+			TestSpecification<LongValueWithProperHashCode> 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(
+			"long-value-with-proper-hash-code-serializer",
+			LongValueWithProperHashCode.LongValueWithProperHashCodeSerializer.class,
+			LongValueWithProperHashCode.LongValueWithProperHashCodeSerializer.LongValueWithProperHashCodeSerializerSnapshot.class,
+			LongValueWithProperHashCode.LongValueWithProperHashCodeSerializer::new);
+
+		return testSpecifications.get();
+	}
+}
diff --git a/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.6-long-value-with-proper-hash-code-serializer-data b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.6-long-value-with-proper-hash-code-serializer-data
new file mode 100644
index 0000000..f3e06a4
Binary files /dev/null and b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.6-long-value-with-proper-hash-code-serializer-data differ
diff --git a/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.6-long-value-with-proper-hash-code-serializer-snapshot b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.6-long-value-with-proper-hash-code-serializer-snapshot
new file mode 100644
index 0000000..5aaf88b
Binary files /dev/null and b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.6-long-value-with-proper-hash-code-serializer-snapshot differ
diff --git a/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.7-long-value-with-proper-hash-code-serializer-data b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.7-long-value-with-proper-hash-code-serializer-data
new file mode 100644
index 0000000..f3e06a4
Binary files /dev/null and b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.7-long-value-with-proper-hash-code-serializer-data differ
diff --git a/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.7-long-value-with-proper-hash-code-serializer-snapshot b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.7-long-value-with-proper-hash-code-serializer-snapshot
new file mode 100644
index 0000000..28104ca
Binary files /dev/null and b/flink-libraries/flink-gelly-examples/src/test/resources/flink-1.7-long-value-with-proper-hash-code-serializer-snapshot differ
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
new file mode 100644
index 0000000..e9f0be2
--- /dev/null
+++ b/flink-libraries/flink-gelly/src/test/java/org/apache/flink/graph/types/valuearray/ValueArraySerializerSnapshotMigrationTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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/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
new file mode 100644
index 0000000..a03b9c2
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-data 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
new file mode 100644
index 0000000..f23bb4d
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-byte-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..918413b
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-data 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
new file mode 100644
index 0000000..efec125
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-char-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..a144299
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-data 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
new file mode 100644
index 0000000..fce23b9
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-double-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..dc10ffb
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-data 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
new file mode 100644
index 0000000..a2cc5d9
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-float-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..6966366
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-data 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
new file mode 100644
index 0000000..08dd772
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-int-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..b6f6e75
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-data 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
new file mode 100644
index 0000000..4650904
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-long-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..806e8ab
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-data 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
new file mode 100644
index 0000000..15bac11
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-null-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..b51a799
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-data 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
new file mode 100644
index 0000000..04f4fbb
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-short-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..0dd9644
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-data 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
new file mode 100644
index 0000000..fba2b16
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.6-string-value-array-serializer-snapshot differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-array-list-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-array-list-serializer-data
new file mode 100644
index 0000000..7b6c68a
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-array-list-serializer-data differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-array-list-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-array-list-serializer-snapshot
new file mode 100644
index 0000000..cf43209
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-array-list-serializer-snapshot differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-generic-type-serializer-address-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-generic-type-serializer-address-data
new file mode 100644
index 0000000..74acf72
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-generic-type-serializer-address-data differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-generic-type-serializer-address-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-generic-type-serializer-address-snapshot
new file mode 100644
index 0000000..f27d2dc
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-generic-type-serializer-address-snapshot differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-type-serializer-address-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-type-serializer-address-data
new file mode 100644
index 0000000..74acf72
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-type-serializer-address-data differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-type-serializer-address-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-type-serializer-address-snapshot
new file mode 100644
index 0000000..7c8f6c2
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-avro-type-serializer-address-snapshot 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
new file mode 100644
index 0000000..a03b9c2
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-data 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
new file mode 100644
index 0000000..3489a4f
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-byte-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..918413b
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-data 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
new file mode 100644
index 0000000..80987e5
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-char-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..a144299
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-data 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
new file mode 100644
index 0000000..8af7a6e
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-double-value-array-serializer-snapshot differ
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-either-serializer-data b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-either-serializer-data
new file mode 100644
index 0000000..3aabc0b
--- /dev/null
+++ b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-either-serializer-data
@@ -0,0 +1 @@
+hello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello world
\ No newline at end of file
diff --git a/flink-libraries/flink-gelly/src/test/resources/flink-1.7-either-serializer-snapshot b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-either-serializer-snapshot
new file mode 100644
index 0000000..16242c0
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-either-serializer-snapshot 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
new file mode 100644
index 0000000..dc10ffb
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-data 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
new file mode 100644
index 0000000..b981c5d
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-float-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..6966366
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-data 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
new file mode 100644
index 0000000..1842963
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-int-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..b6f6e75
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-data 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
new file mode 100644
index 0000000..c24e00a
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-long-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..806e8ab
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-data 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
new file mode 100644
index 0000000..9b8db64
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-null-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..b51a799
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-data 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
new file mode 100644
index 0000000..32de4d4
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-short-value-array-serializer-snapshot 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
new file mode 100644
index 0000000..0dd9644
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-data 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
new file mode 100644
index 0000000..af2ae9d
Binary files /dev/null and b/flink-libraries/flink-gelly/src/test/resources/flink-1.7-string-value-array-serializer-snapshot differ
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/state/JavaSerializerSnapshotMigrationTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/state/JavaSerializerSnapshotMigrationTest.java
new file mode 100644
index 0000000..bcf18f5
--- /dev/null
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/state/JavaSerializerSnapshotMigrationTest.java
@@ -0,0 +1,57 @@
+/*
+ * 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.runtime.state;
+
+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.io.Serializable;
+import java.util.Collection;
+
+/**
+ * Migration test for the {@link JavaSerializer}.
+ */
+@RunWith(Parameterized.class)
+public class JavaSerializerSnapshotMigrationTest extends TypeSerializerSnapshotMigrationTestBase<Serializable> {
+
+	private static final String SPEC_NAME = "java-serializer";
+
+	public JavaSerializerSnapshotMigrationTest(TestSpecification<Serializable> 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(
+			SPEC_NAME,
+			JavaSerializer.class,
+			JavaSerializer.JavaSerializerSnapshot.class,
+			() -> new JavaSerializer<>());
+
+		return testSpecifications.get();
+	}
+}
+
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/state/VoidNamespacieSerializerSnapshotMigrationTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/state/VoidNamespacieSerializerSnapshotMigrationTest.java
new file mode 100644
index 0000000..ac5d69e
--- /dev/null
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/state/VoidNamespacieSerializerSnapshotMigrationTest.java
@@ -0,0 +1,55 @@
+/*
+ * 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.runtime.state;
+
+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 test for the {@link VoidNamespaceSerializer}.
+ */
+@RunWith(Parameterized.class)
+public class VoidNamespacieSerializerSnapshotMigrationTest extends TypeSerializerSnapshotMigrationTestBase<VoidNamespace> {
+
+	private static final String SPEC_NAME = "void-namespace-serializer";
+
+	public VoidNamespacieSerializerSnapshotMigrationTest(TestSpecification<VoidNamespace> 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(
+			SPEC_NAME,
+			VoidNamespaceSerializer.class,
+			VoidNamespaceSerializer.VoidNamespaceSerializerSnapshot.class,
+			() -> VoidNamespaceSerializer.INSTANCE);
+
+		return testSpecifications.get();
+	}
+}
diff --git a/flink-runtime/src/test/resources/flink-1.6-java-serializer-data b/flink-runtime/src/test/resources/flink-1.6-java-serializer-data
new file mode 100644
index 0000000..7579df0
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.6-java-serializer-data differ
diff --git a/flink-runtime/src/test/resources/flink-1.6-java-serializer-snapshot b/flink-runtime/src/test/resources/flink-1.6-java-serializer-snapshot
new file mode 100644
index 0000000..cec8f75
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.6-java-serializer-snapshot differ
diff --git a/flink-runtime/src/test/resources/flink-1.6-void-namespace-serializer-data b/flink-runtime/src/test/resources/flink-1.6-void-namespace-serializer-data
new file mode 100644
index 0000000..cb43b5c
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.6-void-namespace-serializer-data differ
diff --git a/flink-runtime/src/test/resources/flink-1.6-void-namespace-serializer-snapshot b/flink-runtime/src/test/resources/flink-1.6-void-namespace-serializer-snapshot
new file mode 100644
index 0000000..be8d4f4
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.6-void-namespace-serializer-snapshot differ
diff --git a/flink-runtime/src/test/resources/flink-1.7-java-serializer-data b/flink-runtime/src/test/resources/flink-1.7-java-serializer-data
new file mode 100644
index 0000000..7579df0
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.7-java-serializer-data differ
diff --git a/flink-runtime/src/test/resources/flink-1.7-java-serializer-snapshot b/flink-runtime/src/test/resources/flink-1.7-java-serializer-snapshot
new file mode 100644
index 0000000..0bb9093
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.7-java-serializer-snapshot differ
diff --git a/flink-runtime/src/test/resources/flink-1.7-void-namespace-serializer-data b/flink-runtime/src/test/resources/flink-1.7-void-namespace-serializer-data
new file mode 100644
index 0000000..cb43b5c
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.7-void-namespace-serializer-data differ
diff --git a/flink-runtime/src/test/resources/flink-1.7-void-namespace-serializer-snapshot b/flink-runtime/src/test/resources/flink-1.7-void-namespace-serializer-snapshot
new file mode 100644
index 0000000..a12698d
Binary files /dev/null and b/flink-runtime/src/test/resources/flink-1.7-void-namespace-serializer-snapshot differ
diff --git a/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowSerializerSnapshotsMigrationTest.java b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowSerializerSnapshotsMigrationTest.java
new file mode 100644
index 0000000..94dd4fb
--- /dev/null
+++ b/flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/operators/windowing/WindowSerializerSnapshotsMigrationTest.java
@@ -0,0 +1,60 @@
+/*
+ * 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.streaming.runtime.operators.windowing;
+
+import org.apache.flink.api.common.typeutils.TypeSerializerSnapshotMigrationTestBase;
+import org.apache.flink.streaming.api.windowing.windows.GlobalWindow;
+import org.apache.flink.streaming.api.windowing.windows.TimeWindow;
+import org.apache.flink.testutils.migration.MigrationVersion;
+
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+import java.util.Collection;
+
+/**
+ * Migration tests for the {@link TimeWindow.Serializer} and {@link GlobalWindow.Serializer}.
+ */
+@RunWith(Parameterized.class)
+public class WindowSerializerSnapshotsMigrationTest extends TypeSerializerSnapshotMigrationTestBase<Object> {
+
+	public WindowSerializerSnapshotsMigrationTest(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(
+			"time-window-serializer",
+			TimeWindow.Serializer.class,
+			TimeWindow.Serializer.TimeWindowSerializerSnapshot.class,
+			TimeWindow.Serializer::new);
+		testSpecifications.add(
+			"global-window-serializer",
+			GlobalWindow.Serializer.class,
+			GlobalWindow.Serializer.GlobalWindowSerializerSnapshot.class,
+			GlobalWindow.Serializer::new);
+
+		return testSpecifications.get();
+	}
+}
diff --git a/flink-streaming-java/src/test/resources/flink-1.6-global-window-serializer-data b/flink-streaming-java/src/test/resources/flink-1.6-global-window-serializer-data
new file mode 100644
index 0000000..cb43b5c
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.6-global-window-serializer-data differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.6-global-window-serializer-snapshot b/flink-streaming-java/src/test/resources/flink-1.6-global-window-serializer-snapshot
new file mode 100644
index 0000000..bb83337
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.6-global-window-serializer-snapshot differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.6-time-window-serializer-data b/flink-streaming-java/src/test/resources/flink-1.6-time-window-serializer-data
new file mode 100644
index 0000000..5ee28f7
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.6-time-window-serializer-data differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.6-time-window-serializer-snapshot b/flink-streaming-java/src/test/resources/flink-1.6-time-window-serializer-snapshot
new file mode 100644
index 0000000..2f2f17b
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.6-time-window-serializer-snapshot differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.7-global-window-serializer-data b/flink-streaming-java/src/test/resources/flink-1.7-global-window-serializer-data
new file mode 100644
index 0000000..cb43b5c
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.7-global-window-serializer-data differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.7-global-window-serializer-snapshot b/flink-streaming-java/src/test/resources/flink-1.7-global-window-serializer-snapshot
new file mode 100644
index 0000000..82a2fc0
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.7-global-window-serializer-snapshot differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.7-time-window-serializer-data b/flink-streaming-java/src/test/resources/flink-1.7-time-window-serializer-data
new file mode 100644
index 0000000..2d241e0
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.7-time-window-serializer-data differ
diff --git a/flink-streaming-java/src/test/resources/flink-1.7-time-window-serializer-snapshot b/flink-streaming-java/src/test/resources/flink-1.7-time-window-serializer-snapshot
new file mode 100644
index 0000000..bed39b8
Binary files /dev/null and b/flink-streaming-java/src/test/resources/flink-1.7-time-window-serializer-snapshot differ