Skip to content

Add EmrServerlessStartSessionOperator to Amazon provider - #70763

Merged
o-nikolas merged 1 commit into
apache:mainfrom
vgkowski:amazon-emr-serverless-start-session
Sep 29, 2026
Merged

o-nikolas merged 1 commit into
apache:mainfrom
vgkowski:amazon-emr-serverless-start-session

Conversation

@vgkowski

Copy link
Copy Markdown
Contributor

Introduce the operator (with deferrable mode), its EmrServerlessHook.start_session method, EmrServerlessSessionTrigger, and the serverless_session_ready waiter to start EMR Serverless interactive (Spark Connect) sessions. The hook gates on botocore 1.43.0 at runtime so the provider's dependency floor is unchanged. Includes docs, a system-test example, and unit tests.

Was generative AI tooling used to co-author this PR?
  • Yes

Generated-by: [Kiro] following the guidelines

Comment thread providers/amazon/src/airflow/providers/amazon/aws/operators/emr.py Outdated

@o-nikolas o-nikolas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just ran the tests, so we'll see if those go green, otherwise not seeing any glaring issues with this one 👍

@vincbeck

Copy link
Copy Markdown
Contributor

CI is failing

@o-nikolas

Copy link
Copy Markdown
Contributor

@vgkowski Are you planning to have a look or should we close this PR?

@vgkowski

Copy link
Copy Markdown
Contributor Author

Please do not close, i'll rework next week

@vgkowski
vgkowski force-pushed the amazon-emr-serverless-start-session branch from c21a42a to 01eb066 Compare September 18, 2026 17:05
@vgkowski

Copy link
Copy Markdown
Contributor Author

@o-nikolas @vincbeck I addressed the comments

Comment thread providers/amazon/src/airflow/providers/amazon/aws/operators/emr.py Outdated
@o-nikolas

Copy link
Copy Markdown
Contributor

@vgkowski the tests are still failing

@vgkowski
vgkowski force-pushed the amazon-emr-serverless-start-session branch from 43725e8 to ddbff14 Compare September 25, 2026 10:44
EMR Serverless users need an Airflow-native way to start Spark Connect
sessions without holding worker slots while AWS provisions the session.

Interactive sessions need a newer botocore than the provider's floor,
so support is checked at runtime instead of forcing an upgrade on users
who do not use sessions. Deferred completion relies only on the trigger
event, and the triggerer polls with the task's region, SSL verification
and botocore settings, so resuming does not depend on worker-local state
or the default client configuration. Dag authors who opt out of waiting
get the session identifiers right away in either execution mode.
@vgkowski
vgkowski force-pushed the amazon-emr-serverless-start-session branch from ddbff14 to d9aa60e Compare September 25, 2026 13:22
@vgkowski

vgkowski commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor Author

fixed CI failures by having the operator pass region_name, verify and botocore_config to EmrServerlessSessionTrigger
@o-nikolas

@o-nikolas
o-nikolas merged commit 8532190 into apache:main Sep 29, 2026
88 checks passed
@boring-cyborg

boring-cyborg Bot commented Sep 29, 2026

Copy link
Copy Markdown

Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants