You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Exidex (Jira)" <ji...@apache.org> on 2022/10/07 10:20:00 UTC

[jira] [Created] (FLINK-29534) @TypeInfo on field requires field type to be valid Pojo

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)