Exidex created FLINK-29534:
------------------------------

             Summary: @TypeInfo on field requires field type to be valid Pojo 
                 Key: FLINK-29534
                 URL: https://issues.apache.org/jira/browse/FLINK-29534
             Project: Flink
          Issue Type: Bug
          Components: API / Type Serialization System
    Affects Versions: 1.15.0, 1.14.0
            Reporter: Exidex


The ability to place @TypeInfo on field was added in 
[https://github.com/apache/flink/pull/8344] . But it seams like the fact that 
it requires field to be a valid POJO was overlooked. In my case I was trying to 
add custom serializer for Jackson's ObjectNode (wrapped in List but not sure if 
this is relevant https://issues.apache.org/jira/browse/FLINK-26470) which is 
not a valid POJO, and this requirement seams to defeat the whole purpose of 
such feature.

code snippet from TypeExtractor:
{code:java}
Type fieldType = field.getGenericType();
if (!isValidPojoField(field, clazz, typeHierarchy) && clazz != Row.class) {
    LOG.info(
            "Class "
                    + clazz
                    + " cannot be used as a POJO type because not all fields 
are valid POJO fields, "
                    + "and must be processed as GenericType. {}",
            GENERIC_TYPE_DOC_HINT);
    return null;
}
try {
    final TypeInformation<?> typeInfo;
    List<Type> fieldTypeHierarchy = new ArrayList<>(typeHierarchy);
    TypeInfoFactory factory = getTypeInfoFactory(field);
    if (factory != null) {{code}
 

 



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

Reply via email to