Hey all, I have updated our meeting notes document to summarize the discussion from our 25th July dev call for Airflow 3.0.
Link: https://cwiki.apache.org/confluence/x/8ApeEg#Airflow3Devcall:MeetingNotes-25July2024 To all those who attended, can you please double-check and add if I have missed anything? To all those who didn't join, if you disagree with anything in the Summary, please voice your opinion. I will send a separate email with the agenda for the next meeting on 8th August, but if someone has an item for the agenda, please reach out to me or feel free to add it to the doc <https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+3+Dev+call%3A+Meeting+Notes#Airflow3Devcall:MeetingNotes-(Proposed)Agenda> . Regards, Kaxil ------ Including the Summary here too (might break formatting): *Catch-up on action items from last call* - Kaxil created GitHub issues for workstream items with no owners; they have also been added as sub-items in this meta GitHub issue that tracks the 3.0 release <https://github.com/apache/airflow/issues/39593>. We had already had some interest from community members on some of these items, check individual issues for it. *Discussions* Branching Strategy: - As soon as 2.10.0rc1 is created, the Airflow main branch will become the Airflow 3 branch on *09 Aug 2024 *. - Providers will continue to be developed on the main branch since we have the framework to run provider tests against older Airflow versions. - Bugfixes: If there is a PR with a bugfix to main, the committers should ask the PR author to raise a PR against v2-10-test branch too. The team agreed to create a mailing list thread to discuss different approaches offline. The thread has been initiated here <https://lists.apache.org/thread/gjlotg36lvp6qxzblk4fwv6wymof09h1>. Which Python version should we support in Airflow 3? - The consensus was to keep things as-is i.e following the current Python-support policy <https://github.com/apache/airflow?tab=readme-ov-file#support-for-python-and-kubernetes-versions> where we would remove the support for a Python version when it is EOL. Airflow 2 support policy including scope (feature vs bug fixes + security only) & support period - We might release 2.11 and mark it as a bridge release to add compatibility shims or deprecation warnings similar to 1.10.15. But we will decide on it as and when such a need arises. - For providers, we will need to increase the support window for the minimum Airflow version from the current 6 months. We will continue Airflow 2 provider support for a year or longer, exact period TBD. We will revisit this again in the coming months. If we cut 2.11 (or whatever the final 2.x version is), then after 6-12 months we could increase the minimum Airflow to 2.11. There were ideas around using a "compat" provider that might help with AF 2 and AF 3 stuff. This will be another thing we will discuss async at a later time to keep current focus on scope & AIPs. *Workstream statuses for ones that does not have a vote started:* - AIP-57 Refactor SLA Feature (Shubham Mehta): - It was agreed that for now, we will mark it for removal in Airflow 3.0 and adding it back in 3.1. We will assess again in the coming dev calls if something changes. Elad has also offered to help if needed. - AIP-67 Multi-team deployment of Airflow components (Jarek Potiuk ): - Jarek is waiting to hear back on his answers to some of the doubts raised in the discussion thread and AIP. This might also be moved to Airflow 3.1 since it depends on AIP-72 and AIP-66 and the implementation hasn't been started on those yet. - AIP-68 Extended Plugin Interface for React Views (Jens Scheffler / Brent Bovenzi ): - As of today, the vote has been started on the mailing list (link <https://lists.apache.org/thread/x8k3khtw6nqbt88r9qlc4b0s1y4bwvf7>). During the meeting, a few things were discussed, including potentially renaming UI plugins to UI Extensions as the "Plugin" word has been overloaded. The other suggestion was to rename the AIP title to "New Interface" instead of "Extending the interface." - AIP-76 Asset Partitions (Tzu-ping Chung): - TP will send this out for VOTE in the next couple of days. - AIP-79 Replace Flask App Builder (Brent Bovenzi ): - Two big questions pending: 1. Replacement for FAB Auth manager 2. How does adding a FAB as Provider work? Can it allow users to make older plugins work? - Jed has been working on a POC on it. He is on vacation this week, but based on initial investigations, he was positive about the progress. We will check it back in the next dev call when he is back. - The pending item is also to update the AIP to add the decoupling of Providers's Connections metadata & form from FAB. - AIP-80: Explicit Template Fields in Operator Arguments (Tzu-ping Chung ): - VOTE has been kicked off here <https://lists.apache.org/thread/s5g0zvjjxlpgnp718vs6n86qtlgzcgpw>. - Poll external Datasets to have event-based DAG scheduling (Vincent BECK / Shubham Mehta): Draft AIP <https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-82+External+event+driven+scheduling+in+Airflow> has been created as mentioned in this mailing list thread <https://lists.apache.org/thread/b7kl9sng7zn81dchn5nqom336ql5pnf2>. - Respect permissions in CLI: Buğra Öztürk - It now has an AIP-81: Enhanced Security in CLI via Integration of API <https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-81%3A+Enhanced+Security+in+CLI+via+Integration+of+API> and is awaiting feedback. - Returning DAG Results / Synchronous DAG Execution <https://docs.google.com/document/d/1CXis3Ovmxm3pt4moiBIpsajX7GmRpGbcEfwt_blkSLI/edit?usp=sharing> : Vikram Koka - The first proposal (Make Execution DAG non-unique) from the original doc is separated out into a different workstream led by TP. - Language support has been excluded from the scope for Airflow 3.0. For now, the only change considered would be to add the support to the existing Trigger API to return an async result which doesn't need an AIP. - The other changes for GenAI will now be implemented as a new provider. - Make Execution Date to be non-unique for a DAG: Tzu-ping Chung - In the next couple of days, a discussion thread with a draft AIP will be created by Tzu-ping Chung , followed by a vote. - Splitting providers from the mono-repo (Kaxil Naik) - Kaxil is not going to propose this anymore as he agrees that doing this now will increase the work and split the focus of folks. So we are going to NOT split providers from mono-repo to laser focus on Airflow 3 feature work. - We might think about it at a later date after Airflow 3.0 is released. - AIP-49 OpenTelemetry Support for Apache Airflow <https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-49+OpenTelemetry+Support+for+Apache+Airflow> : - The PR for the 2nd part <https://github.com/apache/airflow/pulls?q=is%3Apr+opentelemetry+is%3Aclosed> got merged for 2.10 and the AIP is marked complete. - Howard Yoo 's comment: Initially we thought to collect logs in standard way (scraping from log files), but found a much better way to collect logs, by utilizing log api to get the task logs, and then attaching them as 'span events' which would be much more useful. The extraction of Task Logs and attaching them as span events is thus included in the AIP-49, thus it is not 'excluded', albeit not as a separate 'log' data as originally thought. - StatsD vs Open Telemetry - There was a discussion on whether we should mark StatsD as removed in Airflow 2.10 itself in the docs here <https://airflow.apache.org/docs/apache-airflow/stable/administration-and-deployment/logging-monitoring/metrics.html>. The conclusion was that we should discuss this more as this has a wider impact including but not limited to the official Helm Chart which uses StatsD, the services providers (Astronomer, Composer, MWAA) and other long-time Airflow users. OTel also had limitation around character length limit and that you have to use tags with OTel but it didn't allow aggregating metrics with different tags etc. Shubham Mehta is going to check this out with his team and see if there are other concerns. Triage Help needed: There are 360 open feature requests <https://github.com/apache/airflow/issues?q=is%3Aopen+is%3Aissue+label%3Akind%3Afeature+sort%3Aupdated-asc>. Some we might want to consider and seek help for in 3.0, and others we should close as not planned. Elad, Jens, Jarek, Vikram & Kaxil have volunteered to look at those issues. Elad is also going to check with Dosu team to see if we can re-label these old issues so they are more accurate. Categorizing these issues into "areas" label was one of the next steps too so that the volunteers can look at a particular area or some segment to divide & conquer. Elad Kalif could you take the one on for issue-triage?