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:37 UTC

[14/21] flink git commit: [hotfix] [avro] Improve Avro type hierarchy checks in AvroKryoSerializerUtils

[hotfix] [avro] Improve Avro type hierarchy checks in AvroKryoSerializerUtils


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/6dd5e2b2
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/6dd5e2b2
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/6dd5e2b2

Branch: refs/heads/master
Commit: 6dd5e2b272f717f6d97bb8dbf5f28c59d8c90151
Parents: a042ba9
Author: Stephan Ewen <se...@apache.org>
Authored: Thu Nov 2 21:03:45 2017 +0100
Committer: Stephan Ewen <se...@apache.org>
Committed: Fri Nov 3 16:40:35 2017 +0100

----------------------------------------------------------------------
 .../flink/formats/avro/utils/AvroKryoSerializerUtils.java      | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/6dd5e2b2/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.java
----------------------------------------------------------------------
diff --git a/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.java b/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.java
index c28f6cf..5744abc 100644
--- a/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.java
+++ b/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.java
@@ -37,8 +37,6 @@ import org.apache.avro.generic.GenericData;
 import java.io.Serializable;
 import java.util.LinkedHashMap;
 
-import static org.apache.flink.api.java.typeutils.TypeExtractionUtils.hasSuperclass;
-
 /**
  * Utilities for integrating Avro serializers in Kryo.
  */
@@ -46,7 +44,9 @@ public class AvroKryoSerializerUtils extends AvroUtils {
 
 	@Override
 	public void addAvroSerializersIfRequired(ExecutionConfig reg, Class<?> type) {
-		if (hasSuperclass(type, AVRO_SPECIFIC_RECORD_BASE) || hasSuperclass(type, AVRO_GENERIC_RECORD)) {
+		if (org.apache.avro.specific.SpecificRecordBase.class.isAssignableFrom(type) ||
+			org.apache.avro.generic.GenericData.Record.class.isAssignableFrom(type)) {
+
 			// Avro POJOs contain java.util.List which have GenericData.Array as their runtime type
 			// because Kryo is not able to serialize them properly, we use this serializer for them
 			reg.registerTypeWithKryoSerializer(GenericData.Array.class, Serializers.SpecificInstanceCollectionSerializerForArrayList.class);