Repository: flink
Updated Branches:
  refs/heads/release-0.8 11f4a65aa -> 8ca7cbadb


[FLINK-1446] Fix Kryo createInstance() method


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

Branch: refs/heads/release-0.8
Commit: 8ca7cbadbfc0077f79dfd7f1c2dcf8e3beceeb39
Parents: 11f4a65
Author: Robert Metzger <[email protected]>
Authored: Mon Jan 26 16:26:36 2015 +0100
Committer: Robert Metzger <[email protected]>
Committed: Mon Jan 26 16:26:36 2015 +0100

----------------------------------------------------------------------
 .../api/java/typeutils/runtime/KryoSerializer.java      | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/8ca7cbad/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/KryoSerializer.java
----------------------------------------------------------------------
diff --git 
a/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/KryoSerializer.java
 
b/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/KryoSerializer.java
index f445ec6..3a51534 100644
--- 
a/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/KryoSerializer.java
+++ 
b/flink-java/src/main/java/org/apache/flink/api/java/typeutils/runtime/KryoSerializer.java
@@ -33,6 +33,7 @@ import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.EOFException;
 import java.io.IOException;
+import java.lang.reflect.Modifier;
 
 public class KryoSerializer<T> extends TypeSerializer<T> {
        private static final long serialVersionUID = 2L;
@@ -68,7 +69,16 @@ public class KryoSerializer<T> extends TypeSerializer<T> {
 
        @Override
        public T createInstance() {
-               return null;
+               if(Modifier.isAbstract(type.getModifiers()) || 
Modifier.isInterface(type.getModifiers()) ) {
+                       return null;
+               } else {
+                       checkKryoInitialized();
+                       try {
+                               return kryo.newInstance(type);
+                       } catch(Throwable e) {
+                               return null;
+                       }
+               }
        }
 
        @SuppressWarnings("unchecked")

Reply via email to