[ 
https://issues.apache.org/jira/browse/FLINK-35887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17905951#comment-17905951
 ] 

lincoln lee commented on FLINK-35887:
-------------------------------------

[~guoweijie] Thanks for looking into this!

I've added 1.19.2 & 1.20.1 into the fix versions. [~dylanhz] Could you also 
create a backport pr to 1.20 branch?

> Null Pointer Exception in TypeExtractor.isRecord when trying to provide type 
> info for interface
> -----------------------------------------------------------------------------------------------
>
>                 Key: FLINK-35887
>                 URL: https://issues.apache.org/jira/browse/FLINK-35887
>             Project: Flink
>          Issue Type: Bug
>          Components: API / Type Serialization System
>    Affects Versions: 1.19.1
>            Reporter: Jacob Jona Fahlenkamp
>            Assignee: Dylan He
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.0-preview
>
>
> The following code
> {code:java}
> import org.apache.flink.api.common.typeinfo.TypeInfo;
> import org.apache.flink.api.common.typeinfo.TypeInfoFactory;
> import org.apache.flink.api.common.typeinfo.TypeInformation;
> import org.apache.flink.api.common.typeinfo.Types;
> import org.apache.flink.types.PojoTestUtils;
> import org.junit.jupiter.api.Test;
> import java.lang.reflect.Type;
> import java.util.Map;
> public class DebugTest {
>     @TypeInfo(FooFactory.class)
>     public interface Foo{}
>     public static class FooFactory extends TypeInfoFactory<Foo> {
>        @Override
>        public TypeInformation<Foo> createTypeInfo(Type type, Map<String, 
> TypeInformation<?>> map) {
>           return Types.POJO(Foo.class, Map.of());
>        }
>     }
>     @Test
>     void test() {
>        PojoTestUtils.assertSerializedAsPojo(Foo.class);
>     }
> } {code}
> throws this exception:
> {code:java}
> java.lang.NullPointerException: Cannot invoke "java.lang.Class.getName()" 
> because the return value of "java.lang.Class.getSuperclass()" is null
>       at 
> org.apache.flink.api.java.typeutils.TypeExtractor.isRecord(TypeExtractor.java:2227)
>   at 
> org.apache.flink.api.java.typeutils.runtime.PojoSerializer.<init>(PojoSerializer.java:125)
>    at 
> org.apache.flink.api.java.typeutils.PojoTypeInfo.createPojoSerializer(PojoTypeInfo.java:359)
>  at 
> org.apache.flink.api.java.typeutils.PojoTypeInfo.createSerializer(PojoTypeInfo.java:347)
>      at 
> org.apache.flink.types.PojoTestUtils.assertSerializedAsPojo(PojoTestUtils.java:48)
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to