flink-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kostas Kloudas <k.klou...@data-artisans.com>
Subject Re: [DISCUSS] Backwards compatibility policy.
Date Sat, 20 May 2017 18:24:39 GMT
Hi Chesnay,

I believe that for APIs we already have a pretty clear policy with the annotations.
I was referring to savepoints and state related backwards compatibility.


> On May 20, 2017, at 7:20 PM, Chesnay Schepler <chesnay@apache.org> wrote:
> 
> I think it would be a good to clarify what kind of backwards-compatibilitiy we're talking
about here. As in are we talking about APIs or savepoints?
> 
> On 20.05.2017 19:09, Kostas Kloudas wrote:
>> Hi all,
>> 
>> As we are getting closer to releasing Flink-1.3, I would like to open a discussion
>> on how far back we provide backwards compatibility for.
>> 
>> The reason for opening the discussion is that i) for the users and for the
>> adoption of the project, it is good to have an explicitely stated policy that implies
>> certain guarantees, and ii) keeping code and tests for backwards compatibility with
>> Flink-1.1 does not offer much. On the contrary, I think that it leads to:
>> 
>> 1) dead or ugly code in the codebase, e.g. deprecated class fields that could go
away and
>> ugly if() loops (see aligned window operators that were deprecated in 1.2 and are
now
>> normal windows), etc
>> 2) expensive tests (as, normally, they read from a savepoint)
>> 3) binary files in the codebase for holding the aforementioned savepoints
>> 
>> My proposal for such a policy would be to offer backwards compatibility for one previous
version.
>> 
>> This means that 1.3 will be compatible with 1.2 (not 1.1). This still allows a clear
>> "backwards compatibility" path when jumping versions (a user that goes
>> from 1.1 to 1.3 can go initially 1.1 -> 1.2, take a savepoint, and then 1.2 ->
1.3),
>> while also allowing us to clean up the codebase a bit.
>> 
>> What do you think?
>> 
>> Kostas
> 
> 


Mime
View raw message