You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Chesnay Schepler (Jira)" <ji...@apache.org> on 2022/01/11 13:51:00 UTC

[jira] [Commented] (FLINK-25444) ExecutionConfig can not be Serializable due to TextElement used in side

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

Chesnay Schepler commented on FLINK-25444:
------------------------------------------

Why do we use TextElement in the DescribedEnum in the first place? Surely a plain string would suffice; at least I couldn't find one instance where we do anything else. Alternatively we could mark the description field as transient, or implement the enum description via annotations instead (which should streamline the implementation of such an enum).

[~airblader] [~twalthr]

> ExecutionConfig can not be Serializable due to TextElement used in side
> -----------------------------------------------------------------------
>
>                 Key: FLINK-25444
>                 URL: https://issues.apache.org/jira/browse/FLINK-25444
>             Project: Flink
>          Issue Type: Bug
>          Components: API / Core
>    Affects Versions: 1.14.0, 1.14.2, 1.14.3
>            Reporter: Wen Zhou
>            Priority: Critical
>
> This should be a bug introduced by the latest flink commit of file [flink-core/src/main/java/org/apache/flink/api/common/ExecutionConfig.java|https://github.com/apache/flink/commit/9e0e0929b86c372c9243daad9d654af9e7718708#diff-7a439abdf207cf6da8aa6c147b38c1346820fe786afbf652bc614fc377cdf238]
> Diff the file, we can find TextElement is used here where ClosureCleanerLevel is is used as a memeber of Serializable ExecutionConfig.
> [TextElement in ClosureCleanerLevel|https://i.stack.imgur.com/ky3d8.png]
> The simplest way to verify the problem is running code as followings in flink 1.13.5 and 1.14.x, the exception is reproduced in 1.14.x . And the diff between 1.13.5 and 1.14.x is only lates commit
>  
> @Test
> public void testExecutionConfigSerializable() throws Exception {
> ExecutionConfig config = new ExecutionConfig();
> ClosureCleaner.clean(config, ExecutionConfig.ClosureCleanerLevel.RECURSIVE, true);
> }
>  
> The problem can be found here [https://stackoverflow.com/questions/70443743/flink-blockelement-exception-when-updating-to-version-1-14-2/70468925?noredirect=1#comment124597510_70468925]



--
This message was sent by Atlassian Jira
(v8.20.1#820001)