The reason why most people are using AWSv1 IOs is probably because they are in Beam since 2017 instead of just added in the last year which is the case of the AWSv2 ones.
Alexey mentions that maintaining both versions is becoming painful and I would like to expand on that because we have now duplicated work for new features, for example someone contributing some small improvement does it in one of the two versions and we try to encourage them to do it in both and general confusion and lots of extra work is going into keeping them aligned. And for more complex IOs like Kinesis this might prove harder in the future. Notice that the migration path is incremental because users can have both Amazon SDKs in the same classpath without conflicts. And Alexey's proposal is about deprecating AWSv1 IOs to reduce the maintenance burden, not removing them from the codebase. This could help to raise awareness about the AWSv2 IOs so users migrate and diminish the extra overhead for contributors and maintainers. One minor comment to the proposal is that if we proceed with this plan we should deprecate a v1 IO ONLY when we have full feature parity in the v2 version. I think we don't have a replacement for AWSv1 S3 IO so that one should not be deprecated. On Tue, Sep 15, 2020 at 6:07 PM Robert Bradshaw <rober...@google.com> wrote: > > The 10x-100x ratio looks like an answer right there about (non-)suitability > for deprecation. The new question would be *why* people are using the v1 > APIs. Is it because it was the original, or that it's been around longer, or > it has more features? >