On Tue, Nov 26, 2019 at 6:17 PM Reza Rokni <r...@google.com> wrote:

> Hi Alexey,
>
> With regards to @Experimental there are a couple of discussions around its
> usage ( or rather over usage! ) on dev@. It is something that we need to
> clean up ( some of those IO are now being used on production env for
> years!).
>

I agree that we should move some IO connectors out of experimental state
and probably this should be a separate discussion. Also, this issue is
probably more than for IO connectors since there are other parts of the
code that is marked as experimental as well, sometimes for a good reason
(for example, SDF).



>
> Cheers
>
> Reza
>
> On Wed, 27 Nov 2019 at 04:50, Luke Cwik <lc...@google.com> wrote:
>
>> I suggested the wrapper because sometimes the intent of the APIs can be
>> translated easily but this is not always the case.
>>
>> Good to know that it is all marked @Experimental.
>>
>> On Tue, Nov 26, 2019 at 12:30 PM Cam Mach <cammac...@gmail.com> wrote:
>>
>>> Thank you, Alex for sharing the information, and Luke for the questions.
>>> I like the idea that just depreciate the V1 IOs, and just maintain V2
>>> IOs, so we can support whoever want continue with V1.
>>> Just as Alex said, a lot of users, including my teams :-) , use the V1
>>> IOs in production for real workload. So it'll be hard to remove V1 IOs or
>>> force them migrate to V2. But let hear if there are any other ideas?
>>>
>>> Btw, making V1 a wrapper around V2 is not very positive, code will get
>>> more complicated since V2 API is very different from V1's.
>>>
>>> Thanks,
>>>
>>>
>>>
>>> On Tue, Nov 26, 2019 at 8:21 AM Alexey Romanenko <
>>> aromanenko....@gmail.com> wrote:
>>>
>>>> AFAICT, all AWS SDK V1 IOs (SnsIO, SqsIO, DynamoDBIO, KinesisIO) are
>>>> marked as "Experimental". So, it should not be a problem to gracefully
>>>> deprecate and finally remove them. We already did the similar procedure for
>>>> “HadoopInputFormatIO”, which was renamed to just “HadoopFormatIO” (since it
>>>> started to support HadoopOutputFormatI as well). Old “HadoopInputFormatIO”
>>>> was deprecated and removed after *3 consecutive* Beam releases (as we
>>>> agreed on mailing list).
>>>>
>>>> In the same time, some users for some reasons would not be able or to
>>>> want to move on AWS SDK V2. So, I’d prefer to just deprecate AWS SDK V1 IOs
>>>> and accept new features/fixes *only* for V2 IOs.
>>>>
>>>
+1 for deprecating AWS V1 IO connectors as opposed to removing as well
unless we can confirm that usage is extremely limited.


>
>>>> Talking about “Experimental” annotation. Sorry in advance If I missed
>>>> that and switch a subject a bit, but do we have clear rules or an agreement
>>>> when IO becomes stable and should not be marked as experimental anymore?
>>>> *Most* of our Java IOs are marked as Experimental but many of them
>>>> were using in production by real users under real load. Does it mean that
>>>> they are ready to be stable in terms of API? Perhaps, this topic deserves a
>>>> new discussion if there are several opinions on that.
>>>>
>>>
Probably, decision to move component APIs (for example, an IO connector)
out of experimental state should be done on a case-by-case basis.

Thanks,
Cham


>
>>>> On 26 Nov 2019, at 00:39, Luke Cwik <lc...@google.com> wrote:
>>>>
>>>> Phase I sounds fine.
>>>>
>>>> Apache Beam follows semantic versioning and I believe removing the IOs
>>>> will be a backwards incompatible change unless they were marked
>>>> experimental which will be a problem for Phase 2.
>>>>
>>>> What is the feasibility of making the V1 transforms wrappers around V2?
>>>>
>>>> On Mon, Nov 25, 2019 at 1:46 PM Cam Mach <cammac...@gmail.com> wrote:
>>>>
>>>>> Hello Beam Devs,
>>>>>
>>>>> I have been working on the migration of Amazon Web Services IO
>>>>> connectors into the new AWS SDK for Java V2. The goal is to have an 
>>>>> updated
>>>>> implementation aligned with the most recent AWS improvements. So far we
>>>>> have already migrated the connectors for AWS SNS, SQS and  DynamoDB.
>>>>>
>>>>> In the meantime some contributions are still going on V1 IOs. So far
>>>>> we have dealt with those by porting (or asking contributors) to port the
>>>>> changes into V2 IOs too because we don’t want features of both versions to
>>>>> be unaligned but this may quickly become a maintenance issue, so we want 
>>>>> to
>>>>> discuss a plan to stop supporting (deprecate) V1 IOs and encourage users 
>>>>> to
>>>>> move to V2.
>>>>>
>>>>> Phase I (ASAP):
>>>>>
>>>>>    - Mark migrated AWS V1 IOs as deprecated
>>>>>    - Document migration path to V2
>>>>>
>>>>> Phase II (end of 2020):
>>>>>
>>>>>    - Decide a date or Beam release to remove the V1 IOs
>>>>>    - Send a notification to the community 3 months before we remove
>>>>>    them
>>>>>    - Completely get rid of V1 IOs
>>>>>
>>>>>
>>>>> Please let me know what you think or if you see any potential issues?
>>>>>
>>>>> Thanks,
>>>>> Cam Mach
>>>>>
>>>>>
>>>>
>
> --
>
> This email may be confidential and privileged. If you received this
> communication by mistake, please don't forward it to anyone else, please
> erase all copies and attachments, and please let me know that it has gone
> to the wrong person.
>
> The above terms reflect a potential business arrangement, are provided
> solely as a basis for further discussion, and are not intended to be and do
> not constitute a legally binding obligation. No legally binding obligations
> will be created, implied, or inferred until an agreement in final form is
> executed in writing by all parties involved.
>

Reply via email to