Skip to content

Java SDK: Reject byte arrays instead of letting the task hang - #74218

Draft
FrankYang0529 wants to merge 1 commit into
apache:mainfrom
FrankYang0529:airflow-java-sdk-reject-byte-array
Draft

FrankYang0529 wants to merge 1 commit into
apache:mainfrom
FrankYang0529:airflow-java-sdk-reject-byte-array

Conversation

@FrankYang0529

Copy link
Copy Markdown
Member

Why

  • A Java task that pushes a byte[], for example with client.setXCom("payload", bytes), never finishes. The SDK packed the array as msgpack bin, but the supervisor only accepts JSON values. The supervisor logs Unable to decode message and never replies, so the task waits forever.

How

  • packAny throws IllegalArgumentException for a ByteArray before anything is written to the socket. The exception message asks the task author to encode the bytes as a string.

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

  • Read the Pull Request Guidelines for more information. Note: commit author/co-author name and email in commits become permanently public when merged.
  • For fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
  • When adding dependency, check compliance with the ASF 3rd Party License Policy.
  • For significant user-facing changes create newsfragment: {pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.

Signed-off-by: PoAn Yang <payang@apache.org>

This branch has not been deployed

No deployments
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.

1 participant