Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backcompat for non inheriting executors #41906

Merged

Conversation

dstandish
Copy link
Contributor

Some executors don't inherit from BaseExecutor. 2.10 change assumes they do.

This fixes that.

Resolves #41891

@boring-cyborg boring-cyborg bot added area:API Airflow's REST/HTTP API area:dev-tools area:Executors-core LocalExecutor & SequentialExecutor area:production-image Production image improvements and fixes area:Scheduler including HA (high availability) scheduler labels Aug 30, 2024
@dstandish dstandish closed this Aug 30, 2024
@dstandish dstandish reopened this Aug 30, 2024
@dstandish dstandish changed the base branch from v2-10-stable to v2-10-test August 30, 2024 20:08
@dstandish
Copy link
Contributor Author

sorry -- had wrong base; fixed now.

@potiuk potiuk added this to the Airflow 2.10.1 milestone Aug 30, 2024
@potiuk
Copy link
Member

potiuk commented Aug 30, 2024

I think we have the rule that we generally implement such fixes in main and backport them to v2-*test - this is the first exception so far. Not sure if justified.

@potiuk
Copy link
Member

potiuk commented Aug 30, 2024

cc: @utkarsharma2 @ephraimbuddy @kaxil @eladkal -> WDYT? ^^

@dstandish
Copy link
Contributor Author

I think we have the rule that we generally implement such fixes in main and backport them to v2-*test - this is the first exception so far. Not sure if justified.

I can't speak to that necessarily but this is the type of backcompat thing that I'd want to chop in 3.0 anyway. If you think it's better, we could add to main, then remove it with changelog. But it's such a small thing!

@kaxil
Copy link
Member

kaxil commented Aug 30, 2024

My answer: theorethically it does, if somoene uses currently released cncf.kubernetes provider and CeleryKubernetesExecutor or LocalKubernetesExecutor in Airflow 3.

If it affects "main" currently, then yeah I think we should fix and merge in main too. And then cherry-pick / separate PR (this can be that PR and you can create one for main too)

@dstandish
Copy link
Contributor Author

If it affects "main" currently, then yeah I think we should fix and merge in main too. And then cherry-pick / separate PR (this can be that PR and you can create one for main too)

I guess jarek is saying that "theoretically" it affects main but practicall speaking we will drop support for hybrid executors / executors-that-don't-inherit-from-base-executor in 3.0 and / or somehow indicate that providers are not assumed to be future compat with 3.0.

anyway, no strong feeling on it. just ultimately do want this backcompat in 3.0 -- somehow or another.

@potiuk
Copy link
Member

potiuk commented Aug 30, 2024

anyway, no strong feeling on it. just ultimately do want this backcompat in 3.0 -- somehow or another.

Yep. then I think we should add it to main and back-port even if it is "such a small change" - I guess in this case "let's do all things the same way" trumps "but this one is so small and likely to be not needed".

@potiuk
Copy link
Member

potiuk commented Aug 30, 2024

I think individual's convenience in this case is less important that "overall consistency" - and we have to pay the overhead price for it. We already do that by having to run Pull requests for all backports rather than individual cherry-picks as it was in previous v2-* which means that the committers authoring/merging changes have more work to do at the expense of less work by the release manager. I guess that's the sacrifice we all should make now.

And I am not sarcastic - I rigorously follow those rules, it's just the price to pay and we should all be aware why we are paying it and we should share the burden.

@kaxil
Copy link
Member

kaxil commented Aug 30, 2024

I think individual's convenience in this case is less important that "overall consistency" - and we have to pay the overhead price for it. We already do that by having to run Pull requests for all backports rather than individual cherry-picks as it was in previous v2-* which means that the committers authoring/merging changes have more work to do at the expense of less work by the release manager. I guess that's the sacrifice we all should make now.

Agreed. At the point of the PR being open, if it affects main too, we should ideally fix it in main even if a future change will remove it.

@potiuk
Copy link
Member

potiuk commented Aug 31, 2024

Would be great to get that one for 2.10.1 @ephraimbuddy @utkarsharma2

@potiuk potiuk added the all versions If set, the CI build will be forced to use all versions of Python/K8S/DBs label Aug 31, 2024
@potiuk
Copy link
Member

potiuk commented Aug 31, 2024

(Still - this one needs main + backport as discussed before).

@utkarsharma2
Copy link
Contributor

Would be great to get that one for 2.10.1 @ephraimbuddy @utkarsharma2

Sure @potiuk I'll include this for 2.10.1

@utkarsharma2 utkarsharma2 changed the base branch from v2-10-test to main September 1, 2024 06:31
@utkarsharma2 utkarsharma2 changed the base branch from main to v2-10-test September 1, 2024 06:31
@utkarsharma2 utkarsharma2 force-pushed the backcompat-for-non-inheriting-executors branch from 7e6221c to c74db80 Compare September 1, 2024 08:02
@utkarsharma2 utkarsharma2 changed the base branch from v2-10-test to main September 1, 2024 08:03
@potiuk potiuk closed this Sep 1, 2024
@potiuk potiuk reopened this Sep 1, 2024
@potiuk
Copy link
Member

potiuk commented Sep 1, 2024

Something strange happend when building images -> closing/reopening to rebuild

@potiuk potiuk merged commit f168d0a into apache:main Sep 1, 2024
81 of 83 checks passed
potiuk pushed a commit to potiuk/airflow that referenced this pull request Sep 1, 2024
potiuk added a commit that referenced this pull request Sep 1, 2024
…41906) (#41927)

(cherry picked from commit f168d0a)

Co-authored-by: Daniel Standish <15932138+dstandish@users.noreply.github.com>
@utkarsharma2 utkarsharma2 added the type:bug-fix Changelog: Bug Fixes label Sep 1, 2024
@jedcunningham jedcunningham deleted the backcompat-for-non-inheriting-executors branch September 2, 2024 03:15
utkarsharma2 pushed a commit that referenced this pull request Sep 2, 2024
…41906) (#41927)

(cherry picked from commit f168d0a)

Co-authored-by: Daniel Standish <15932138+dstandish@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
all versions If set, the CI build will be forced to use all versions of Python/K8S/DBs area:API Airflow's REST/HTTP API area:dev-tools area:Executors-core LocalExecutor & SequentialExecutor area:production-image Production image improvements and fixes area:Scheduler including HA (high availability) scheduler type:bug-fix Changelog: Bug Fixes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

'CeleryKubernetesExecutor' object has no attribute '_task_event_logs'
5 participants