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 > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > > > > > > >