You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/09/15 15:52:00 UTC

[jira] [Commented] (FLINK-6864) Remove confusing "invalid POJO type" messages from TypeExtractor

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

ASF GitHub Bot commented on FLINK-6864:
---------------------------------------

Github user greghogan commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4574#discussion_r139185112
  
    --- Diff: flink-core/src/main/java/org/apache/flink/api/java/typeutils/TypeExtractor.java ---
    @@ -1900,7 +1900,8 @@ private boolean isValidPojoField(Field f, Class<?> clazz, ArrayList<Type> typeHi
     			ParameterizedType parameterizedType, TypeInformation<IN1> in1Type, TypeInformation<IN2> in2Type) {
     
     		if (!Modifier.isPublic(clazz.getModifiers())) {
    -			LOG.info("Class " + clazz.getName() + " is not public, cannot treat it as a POJO type. Will be handled as GenericType");
    +			LOG.info("Class " + clazz.getName() + " is not public, cannot treat it as a POJO type. " +
    +				"Will be handled as GenericType, and may lose some serialization performance.");
    --- End diff --
    
    What if we said something like "... is not public and cannot be processed as a POJO type. Please read the Flink documentation on "Data Types & Serialization" for details on the impact to performance."


> Remove confusing "invalid POJO type" messages from TypeExtractor
> ----------------------------------------------------------------
>
>                 Key: FLINK-6864
>                 URL: https://issues.apache.org/jira/browse/FLINK-6864
>             Project: Flink
>          Issue Type: Improvement
>          Components: Documentation, Type Serialization System
>            Reporter: Tzu-Li (Gordon) Tai
>            Assignee: Fang Yong
>
> When a user's type cannot be treated as a POJO, the {{TypeExtractor}} will log warnings such as ".. must have a default constructor to be used as a POJO.", "  ... is not a valid POJO type because not all fields are valid POJO fields." in the {{analyzePojo}} method.
> These messages are often conceived as misleading for the user to think that the job should have failed, whereas in fact in these cases Flink just fallsback to Kryo and treat then as generic types. We should remove these messages, and at the same time improve the type serialization docs at [1] to explicitly inform what it means when Flink does / does not recognizes a user type as a POJO.
> [1] https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/types_serialization.html#rules-for-pojo-types



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)