That's really a pita. It's an important and impacting change.

I would go to 1.

For LTS, as already said, I would create a LTS branch and only cherry
pick some changes. Using master as LTS release branch won't work IMHO.

Regards
JB

On 05/11/2018 15:47, Ismaël Mejía wrote:
> For some extra context this change touches more than FileIO, in
> reality this will affect updates in any file-based pipelines because
> the metadata on each file will have now an extra field for the
> lastModifiedDate.
> 
> The PR looks perfect, only issue is the backwards compatibility Coder
> question. Knowing that probably Dataflow is the only one affected, I
> would like to know what can we do?
> 
> [1] Should we merge and the Coder updatability be tied to SDK versions
> (which makes sense and is probably more aligned with the LTS
> discussion)?
> [2] Should we have a MetadataCoderV2? (does this imply a repeated
> Matadata object) ? In this case where is the right place to identify
> and decide what coder to use?
> 
> Other ideas... ?
> 
> Last thing, the link that Luke shared does not seem to work (looks
> like a googley-friendly URL, here it is the full URL for those
> interested in the drain/update proposal:
> 
> [2] 
> https://docs.google.com/document/d/1UWhnYPgui0gUYOsuGcCjLuoOUlGA4QaY91n8p3wz9MY/edit#
> On Fri, Nov 2, 2018 at 10:11 PM Lukasz Cwik <lc...@google.com> wrote:
>>
>> I think the idea is that you would use one coder for paths where you don't 
>> need this information and would have FileIO provide a separate path that 
>> uses your updated coder.
>> Existing users would not be impacted and users of the new FileIO that depend 
>> on this information would not be able to have updated their pipeline in the 
>> first place.
>>
>> If the feature in FileIO is experimental, we could choose to break it for 
>> existing users though since I don't know how feasible my suggestion above is.
>>
>>
>>
>> On Fri, Nov 2, 2018 at 12:56 PM Jeff Klukas <jklu...@mozilla.com> wrote:
>>>
>>> Lukasz - Thanks for those links. That's very helpful context.
>>>
>>> It sounds like there's no explicit user contract about evolving Coder 
>>> classes in the Java SDK and users might reasonably assume Coders to be 
>>> stable between SDK versions. Thus, users of the Dataflow or Flink runners 
>>> might reasonably expect that they can update the Java SDK version used in 
>>> their pipeline when performing an update.
>>>
>>> Based in that understanding, evolving a class like Metadata might not be 
>>> possible except in a major version bump where it's obvious to users to 
>>> expect breaking changes and not to expect an "update" operation to work.
>>>
>>> It's not clear to me what changing the "name" of a coder would look like or 
>>> whether that's a tenable solution here. Would that change be able to happen 
>>> within the SDK itself, or is it something users would need to specify?

-- 
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to