Skip to content

Add async Kotlin client support to the Java SDK#69997

Open
shaealh wants to merge 1 commit into
apache:mainfrom
shaealh:shaealh/airflow-67683-async-kotlin
Open

Add async Kotlin client support to the Java SDK#69997
shaealh wants to merge 1 commit into
apache:mainfrom
shaealh:shaealh/airflow-67683-async-kotlin

Conversation

@shaealh

@shaealh shaealh commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Closes #67683

Why

The Java SDK currently exposes blocking task and client APIs. Kotlin tasks need coroutine-native equivalents so suspending functions can call Airflow APIs without blocking for each request.

What

  • Add coroutine-native AsyncClient and AsyncTask APIs.
  • Add an asynchronous coordinator transport and task-runner dispatch.
  • Preserve the existing synchronous Client and Task behavior.
  • Extend BuilderProcessor to recognize Kotlin suspend functions.
  • Support Context, XCom inputs, and non-Unit return values in generated asynchronous tasks.
  • Add KAPT integration, suspension, concurrency, failure, and client-forwarding tests.
  • Document Kotlin coroutine task usage.

Testing

  • ./gradlew clean build --console=plain -Pkotlin.incremental=false
  • ./gradlew :sdk:check :processor:check --console=plain -Pkotlin.incremental=false
  • Repository commit hooks passed, except lychee-docker, which could not run because Docker was unavailable.
Was generative AI tooling used to co-author this PR?

[X] Yes (OpenAI Codex)

@shaealh
shaealh marked this pull request as ready for review July 17, 2026 06:42
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.

Async Kotlin client in Java SDK

1 participant