Hi Xingbo,

Thanks for your support!

I agree that multi-platform in general is a good idea. We start with ARM
but this opens the door for all others.

G


On Wed, Sep 6, 2023 at 10:46 AM Xingbo Huang <hxbks...@gmail.com> wrote:

> Hi Gabor,
>
> Thanks a lot for the detailed explanation. Building a test environment with
> multi-platforms is indeed what we have been lacking,
> not only for M1 users, but also for Windows users. At 1.16, I remember that
> Azure did not provide the m1 environment,
> and the github action just planned m1 in the annual plan at that
> time[1][2].
>
> +1 for drop 3.7 support in 1.19
>
> [1] https://github.com/actions/runner-images/issues/2187
> [2] https://github.com/github/roadmap/issues/528
>
> Best,
> Xingbo
>
> Gabor Somogyi <gabor.g.somo...@gmail.com> 于2023年9月6日周三 16:07写道:
>
> > Hi Xingbo,
> >
> > > So I guess you want to run ci tests  on the m1
> > > environment, but the current version of miniconda cannot meet this
> > > requirement, so there is a pre-step that must drop python 3.7?
> >
> > In short yes + local wheel build fix on the M1. In a bit more detailed
> > please let me elaborate.
> >
> > You're right about the arm64 build creation, Flink is doing that for
> quite
> > some time already and wheels are running fine.
> > There are gaps however.
> >
> > From user perspective:
> > * we're building wheels for ARM64 but we're not executing any python
> tests
> > on ARM64 but only on X64.
> > I think it's a must to test platform packages on the related platform
> since
> > not all python packages are ARM compatible or must be built/used in a
> > different way.
> >
> > From dev perspective:
> > * Local MacOs M1 wheel or python source distro builds are simply failing
> > with error messages.
> > Just to give an example GRPC pip install is failing and require the
> > following changes:
> >
> >
> https://github.com/apache/flink/pull/23359/files#diff-c4c4916cd6ab7f87a4b154ef9603f9ba6d3b74a00096be9adacb7df363b5efcfR28-R32
> > I can't really imagine how Azure is able to build MacOS ARM64 wheels...
> > * Python tests are not running on any kind of ARM CPUs which makes any
> bug
> > hunting/development hard or nearly impossible
> >
> > In order to give ARM support with local development + test execution
> > possibility new miniconda is needed. New miniconda runs 3.8+.
> >
> > There is already a PR which is under development:
> > https://github.com/apache/flink/pull/23359
> > This fills all the mentioned gaps: local test/development/test execution
> on
> > ARM CPUs + the previously mentioned 3+ years not actively supported
> python
> > eliminated.
> >
> > Hope this helps.
> >
> > G
> >
> >
> > On Wed, Sep 6, 2023 at 9:00 AM Xingbo Huang <hxbks...@gmail.com> wrote:
> >
> > > Hi Gyala and Gabor,
> > >
> > > Pyflink has provided arm64 wheel packages for Apple silicon since
> > 1.16[1].
> > > The use of Miniconda is only related to ci testing and packaging on
> linux
> > > platform, and building mac platform wheels are dependent on
> > > cibuildwheel[2]. So I guess you want to run ci tests  on the m1
> > > environment, but the current version of miniconda cannot meet this
> > > requirement, so there is a pre-step that must drop python 3.7?
> > >
> > > [1] https://pypi.org/project/apache-flink/1.16.2/#files
> > > [2]
> > >
> > >
> >
> https://github.com/apache/flink/blob/master/tools/azure-pipelines/build-python-wheels.yml#L30
> > >
> > > Best,
> > > Xingbo
> > >
> > > Gabor Somogyi <gabor.g.somo...@gmail.com> 于2023年9月6日周三 14:36写道:
> > >
> > > > Hi Xingbo,
> > > >
> > > > *Constraint:*
> > > > I personally not found any miniconda version which provides arm64
> > support
> > > > together with python 3.7.
> > > > [image: image.png]
> > > >
> > > > At the moment I think new platform support means 3.7 drop.
> > > >
> > > > I fully to agree with Gyula, if we start now maybe we can release it
> in
> > > > half a year however *3.7 active support already ended in 27 Jun
> 2020*.
> > > > At the moment any python development/test execution on MacOS M1 is
> just
> > > > not working as-is just like any kind of python test execution on any
> > ARM
> > > > CPU.
> > > >
> > > > Gains:
> > > > * We can release a working version in half a year hopefully and not
> > > > shifting support to 1+ year
> > > > * MacOS M1 local development would work finally which is essential
> for
> > > > user engagement
> > > > * It would be possible to execute python tests on ARM64 machines
> > > > * We can shake up the python development story because it's not the
> > most
> > > > loved area
> > > >
> > > > BR,
> > > > G
> > > >
> > > >
> > > > On Wed, Sep 6, 2023 at 8:06 AM Gyula Fóra <gyula.f...@gmail.com>
> > wrote:
> > > >
> > > >> Hi Xingbo!
> > > >>
> > > >> I think we have to analyze what we gain by dropping 3.7 and
> upgrading
> > > to a
> > > >> miniconda version with a multiarch support.
> > > >>
> > > >> If this is what we need to get Apple silicon support then I think
> it's
> > > >> worth doing it already in 1.19. Keep in mind that 1.18 is not even
> > > >> released
> > > >> yet so if we delay this to 1.20 that is basically 1 year from now.
> > > >> Making this change can increase the adoption instantly if we enable
> > new
> > > >> platforms.
> > > >>
> > > >> Cheers,
> > > >> Gyula
> > > >>
> > > >> On Wed, Sep 6, 2023 at 4:46 AM Xingbo Huang <hxbks...@gmail.com>
> > wrote:
> > > >>
> > > >> > Hi Gabor,
> > > >> >
> > > >> > Thanks for bringing this up. In my opinion, it is a bit aggressive
> > to
> > > >> > directly drop Python 3.7 in 1.19. Python 3.7 is still used a
> lot[1],
> > > >> and as
> > > >> > far as I know, many Pyflink users are still using python 3.7 as
> > their
> > > >> > default interpreter. I prefer to deprecate Python 3.7 in 1.19 just
> > > like
> > > >> we
> > > >> > deprecated Python 3.6 in 1.16[2] and dropped Python 3.6 in
> 1.17[3].
> > > >> >
> > > >> > For the support of Python 3.11, I am very supportive of the
> > > >> implementation
> > > >> > in 1.19 (many users have this appeal, and I originally wanted to
> > > >> support it
> > > >> > in 1.18).
> > > >> >
> > > >> > Regarding the miniconda upgrade, I tend to upgrade miniconda to
> the
> > > >> latest
> > > >> > version that can support python 3.7 to 3.11 at the same time.
> > > >> >
> > > >> > [1] https://w3techs.com/technologies/history_details/pl-python/3
> > > >> > [2] https://issues.apache.org/jira/browse/FLINK-28195
> > > >> > [3] https://issues.apache.org/jira/browse/FLINK-27929
> > > >> >
> > > >> > Best,
> > > >> > Xingbo
> > > >> >
> > > >> > Jing Ge <j...@ververica.com.invalid> 于2023年9月5日周二 04:10写道:
> > > >> >
> > > >> > > +1
> > > >> > >
> > > >> > > @Dian should we add support of python 3.11
> > > >> > >
> > > >> > > Best regards,
> > > >> > > Jing
> > > >> > >
> > > >> > > On Mon, Sep 4, 2023 at 3:39 PM Gabor Somogyi <
> > > >> gabor.g.somo...@gmail.com>
> > > >> > > wrote:
> > > >> > >
> > > >> > > > Thanks for all the responses!
> > > >> > > >
> > > >> > > > Based on the suggestions I've created the following jiras and
> > > >> started
> > > >> > to
> > > >> > > > work on them:
> > > >> > > > * https://issues.apache.org/jira/browse/FLINK-33029
> > > >> > > > * https://issues.apache.org/jira/browse/FLINK-33030
> > > >> > > >
> > > >> > > > The reason why I've split them is to separate the concerns and
> > > >> reduce
> > > >> > the
> > > >> > > > amount of code in a PR to help reviewers.
> > > >> > > >
> > > >> > > > BR,
> > > >> > > > G
> > > >> > > >
> > > >> > > >
> > > >> > > > On Mon, Sep 4, 2023 at 12:57 PM Sergey Nuyanzin <
> > > >> snuyan...@gmail.com>
> > > >> > > > wrote:
> > > >> > > >
> > > >> > > > > +1,
> > > >> > > > > Thanks for looking into this.
> > > >> > > > >
> > > >> > > > > On Mon, Sep 4, 2023 at 8:38 AM Gyula Fóra <
> > gyula.f...@gmail.com
> > > >
> > > >> > > wrote:
> > > >> > > > >
> > > >> > > > > > +1
> > > >> > > > > > Thanks for looking into this.
> > > >> > > > > >
> > > >> > > > > > Gyula
> > > >> > > > > >
> > > >> > > > > > On Mon, Sep 4, 2023 at 8:26 AM Matthias Pohl <
> > > >> > matthias.p...@aiven.io
> > > >> > > > > > .invalid>
> > > >> > > > > > wrote:
> > > >> > > > > >
> > > >> > > > > > > Thanks Gabor for looking into it. It sounds reasonable
> to
> > me
> > > >> as
> > > >> > > well.
> > > >> > > > > > >
> > > >> > > > > > > +1
> > > >> > > > > > >
> > > >> > > > > > > On Sun, Sep 3, 2023 at 5:44 PM Márton Balassi <
> > > >> > > > > balassi.mar...@gmail.com>
> > > >> > > > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > > > Hi Gabor,
> > > >> > > > > > > >
> > > >> > > > > > > > Thanks for bringing this up. Similarly to when we
> > dropped
> > > >> > Python
> > > >> > > > 3.6
> > > >> > > > > > due
> > > >> > > > > > > to
> > > >> > > > > > > > its end of life (and added 3.10) in Flink 1.17 [1,2],
> it
> > > >> makes
> > > >> > > > sense
> > > >> > > > > to
> > > >> > > > > > > > proceed to remove 3.7 and add 3.11 instead.
> > > >> > > > > > > >
> > > >> > > > > > > > +1.
> > > >> > > > > > > >
> > > >> > > > > > > > [1] https://issues.apache.org/jira/browse/FLINK-27929
> > > >> > > > > > > > [2] https://github.com/apache/flink/pull/21699
> > > >> > > > > > > >
> > > >> > > > > > > > Best,
> > > >> > > > > > > > Marton
> > > >> > > > > > > >
> > > >> > > > > > > > On Fri, Sep 1, 2023 at 10:39 AM Gabor Somogyi <
> > > >> > > > > > gabor.g.somo...@gmail.com
> > > >> > > > > > > >
> > > >> > > > > > > > wrote:
> > > >> > > > > > > >
> > > >> > > > > > > > > Hi All,
> > > >> > > > > > > > >
> > > >> > > > > > > > > I've analyzed through part of the pyflink code and
> > found
> > > >> some
> > > >> > > > > > > improvement
> > > >> > > > > > > > > possibilities.
> > > >> > > > > > > > > I would like to hear voices on the idea.
> > > >> > > > > > > > >
> > > >> > > > > > > > > Intention:
> > > >> > > > > > > > > * upgrade several python related versions to
> eliminate
> > > >> > > > end-of-life
> > > >> > > > > > > issues
> > > >> > > > > > > > > and keep up with bugfixes
> > > >> > > > > > > > > * start to add python arm64 support
> > > >> > > > > > > > >
> > > >> > > > > > > > > Actual situation:
> > > >> > > > > > > > > * Flink supports the following python versions: 3.7,
> > > 3.8,
> > > >> > 3.9,
> > > >> > > > 3.10
> > > >> > > > > > > > > * We use miniconda 4.7.10 (python package management
> > > >> system
> > > >> > and
> > > >> > > > > > > > environment
> > > >> > > > > > > > > management system) which supports the following
> python
> > > >> > > versions:
> > > >> > > > > 3.7,
> > > >> > > > > > > > 3.8,
> > > >> > > > > > > > > 3.9, 3.10
> > > >> > > > > > > > > * Our python framework is not supporting anything
> but
> > > >> x86_64
> > > >> > > > > > > > >
> > > >> > > > > > > > > Issues:
> > > >> > > > > > > > > * Python 3.7.17 is the latest security patch of the
> > 3.7
> > > >> line.
> > > >> > > > This
> > > >> > > > > > > > version
> > > >> > > > > > > > > is end-of-life and is no longer supported:
> > > >> > > > > > > > >
> https://www.python.org/downloads/release/python-3717/
> > > >> > > > > > > > > * Miniconda 4.7.10 is released on 2019-07-29 which
> is
> > 4
> > > >> years
> > > >> > > old
> > > >> > > > > > > already
> > > >> > > > > > > > > and not supporting too many architectures (x86_64
> and
> > > >> > ppc64le)
> > > >> > > > > > > > > * The latest miniconda which has real multi-arch
> > feature
> > > >> set
> > > >> > > > > supports
> > > >> > > > > > > the
> > > >> > > > > > > > > following python versions: 3.8, 3.9, 3.10, 3.11 and
> no
> > > 3.7
> > > >> > > > support
> > > >> > > > > > > > >
> > > >> > > > > > > > > Suggestion to solve the issues:
> > > >> > > > > > > > > * In 1.19 drop python 3.7 support and upgrade
> > miniconda
> > > to
> > > >> > the
> > > >> > > > > latest
> > > >> > > > > > > > > version which opens the door to other platform +
> > python
> > > >> 3.11
> > > >> > > > > support
> > > >> > > > > > > > >
> > > >> > > > > > > > > Please note python 3.11 support is not
> > > initiated/discussed
> > > >> > > here.
> > > >> > > > > > > > >
> > > >> > > > > > > > > BR,
> > > >> > > > > > > > > G
> > > >> > > > > > > > >
> > > >> > > > > > > >
> > > >> > > > > > >
> > > >> > > > > >
> > > >> > > > >
> > > >> > > > >
> > > >> > > > > --
> > > >> > > > > Best regards,
> > > >> > > > > Sergey
> > > >> > > > >
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > > >
> > >
> >
>

Reply via email to