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