You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2017/11/03 17:11:44 UTC
[21/21] flink git commit: [hotfix] [avro] Add test that validates
deserialization of Kryo Serializer in the absence of Avro
[hotfix] [avro] Add test that validates deserialization of Kryo Serializer in the absence of Avro
Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/87bf5781
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/87bf5781
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/87bf5781
Branch: refs/heads/master
Commit: 87bf578163facc272138141fbcfa35c3bedbe74d
Parents: c438e29
Author: Stephan Ewen <se...@apache.org>
Authored: Thu Nov 2 22:38:54 2017 +0100
Committer: Stephan Ewen <se...@apache.org>
Committed: Fri Nov 3 16:40:36 2017 +0100
----------------------------------------------------------------------
.../TypeSerializerSerializationUtil.java | 1 +
.../kryo/KryoSerializerCompatibilityTest.java | 21 ++++++++++++++++++-
.../resources/serialized-kryo-serializer-1.3 | Bin 0 -> 1710 bytes
3 files changed, 21 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flink/blob/87bf5781/flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java
----------------------------------------------------------------------
diff --git a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java
index d03498a..c6291ad 100644
--- a/flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java
+++ b/flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java
@@ -30,6 +30,7 @@ import org.apache.flink.core.memory.DataOutputView;
import org.apache.flink.core.memory.DataOutputViewStreamWrapper;
import org.apache.flink.util.InstantiationUtil;
import org.apache.flink.util.Preconditions;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/flink/blob/87bf5781/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/kryo/KryoSerializerCompatibilityTest.java
----------------------------------------------------------------------
diff --git a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/kryo/KryoSerializerCompatibilityTest.java b/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/kryo/KryoSerializerCompatibilityTest.java
index 11c95f1..89e9ec3 100644
--- a/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/kryo/KryoSerializerCompatibilityTest.java
+++ b/flink-core/src/test/java/org/apache/flink/api/java/typeutils/runtime/kryo/KryoSerializerCompatibilityTest.java
@@ -20,6 +20,7 @@ package org.apache.flink.api.java.typeutils.runtime.kryo;
import org.apache.flink.api.common.ExecutionConfig;
import org.apache.flink.api.common.typeutils.CompatibilityResult;
+import org.apache.flink.api.common.typeutils.TypeSerializer;
import org.apache.flink.api.common.typeutils.TypeSerializerConfigSnapshot;
import org.apache.flink.api.common.typeutils.TypeSerializerSerializationUtil;
import org.apache.flink.core.memory.DataInputViewStreamWrapper;
@@ -29,6 +30,7 @@ import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;
+
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -42,6 +44,7 @@ import java.util.List;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
@@ -67,6 +70,22 @@ public class KryoSerializerCompatibilityTest {
assertFalse(compatResult.isRequiresMigration());
}
+ @Test
+ public void testDeserializingKryoSerializerWithoutAvro() throws Exception {
+ final String resource = "serialized-kryo-serializer-1.3";
+
+ TypeSerializer<?> serializer;
+
+ try (InputStream in = getClass().getClassLoader().getResourceAsStream(resource)) {
+ DataInputViewStreamWrapper inView = new DataInputViewStreamWrapper(in);
+
+ serializer = TypeSerializerSerializationUtil.tryReadSerializer(inView, getClass().getClassLoader());
+ }
+
+ assertNotNull(serializer);
+ assertTrue(serializer instanceof KryoSerializer);
+ }
+
/**
* Verifies that reconfiguration result is INCOMPATIBLE if data type has changed.
*/
@@ -150,7 +169,7 @@ public class KryoSerializerCompatibilityTest {
DataInputViewStreamWrapper inputView = new DataInputViewStreamWrapper(f)) {
thrown.expectMessage("Could not find required Avro dependency");
- FakeAvroClass myTestClass = kryoSerializer.deserialize(inputView);
+ kryoSerializer.deserialize(inputView);
}
}
}
http://git-wip-us.apache.org/repos/asf/flink/blob/87bf5781/flink-core/src/test/resources/serialized-kryo-serializer-1.3
----------------------------------------------------------------------
diff --git a/flink-core/src/test/resources/serialized-kryo-serializer-1.3 b/flink-core/src/test/resources/serialized-kryo-serializer-1.3
new file mode 100644
index 0000000..d977c50
Binary files /dev/null and b/flink-core/src/test/resources/serialized-kryo-serializer-1.3 differ