[
https://issues.apache.org/jira/browse/FLINK-13586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16902800#comment-16902800
]
Stephan Ewen commented on FLINK-13586:
--------------------------------------
Looking at the changes in more detail, I think there was a mistake in the PR
that the additional parameter was forced into every call site.
Call sited should have stayed the same, by keeping the original method (and
semantics) and only adding the level in a new method.
We can do the following now:
- Add the method {{ClosureCleaner.clean(Object, boolean)}} and change all
call sites in libraries and connectors to call that method.
- As for which value we supply for the level there, we have two options:
1. {{TOP_LEVEL}} which makes this compatible with 1.8.0
2. {{RECURSIVE}} which makes this compatible with 1.8.1
Tough choice.
I don't understand how this got merged into 1.8.1 in the first place, with
changing the semantics from flat cleaning to recursive cleaning.
That is a change in behavior that should not happen in a bugfix release.
> Method ClosureCleaner.clean broke backward compatibility between 1.8.0 and
> 1.8.1
> --------------------------------------------------------------------------------
>
> Key: FLINK-13586
> URL: https://issues.apache.org/jira/browse/FLINK-13586
> Project: Flink
> Issue Type: Bug
> Affects Versions: 1.8.1
> Reporter: Gaël Renoux
> Priority: Major
>
> Method clean in org.apache.flink.api.java.ClosureCleaner received a new
> parameter in Flink 1.8.1. This class is noted as internal, but is used in the
> Kafka connectors (in
> org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducerBase).
> The Kafka connectors library is not provided by the server, and must be set
> up as a dependency with compile scope (see
> https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/kafka.html#usage,
> or the Maven project template). Any project using those connectors and built
> with 1.8.0 cannot be deployed on a 1.8.1 Flink server, because it would
> target the old method.
> => This methods needs a fallback with the original two arguments (setting a
> default value of RECURSIVE for the level argument).
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)