Skip to content

Document supported databricks_retry_args usage for deferrable Databricks operators#68017

Open
kosiew wants to merge 2 commits into
apache:mainfrom
kosiew:callable-deserialization-02-64609
Open

Document supported databricks_retry_args usage for deferrable Databricks operators#68017
kosiew wants to merge 2 commits into
apache:mainfrom
kosiew:callable-deserialization-02-64609

Conversation

@kosiew
Copy link
Copy Markdown
Contributor

@kosiew kosiew commented Jun 4, 2026

What does this PR do?

Follow up for #64960

Adds documentation clarifying which databricks_retry_args configurations are supported when using Databricks operators in deferrable mode.

The new documentation:

  • Explains that databricks_retry_args must be serialization-safe because it is serialized across the trigger boundary when deferrable=True.
  • Documents supported value types (plain Python primitives and collections of primitives).
  • Provides examples of supported configurations, such as {"reraise": True}.
  • Explains that retry count and delay should be configured through the dedicated retry_limit and retry_delay operator parameters.
  • Documents unsupported configurations, including Tenacity strategy objects (stop_after_attempt, wait_incrementing, etc.) and arbitrary callables.
  • Recommends using the non-deferrable Databricks operators when custom callable retry strategies are required.
  • Adds a Databricks provider changelog entry describing the documentation update.

Does this PR introduce any user-facing change?

Yes. Documentation now explicitly describes the serialization requirements and supported shapes for databricks_retry_args in deferrable Databricks operators, helping users avoid unsupported retry configurations.

How was this patch tested?

No tests were added or modified. This PR contains documentation and changelog updates only.


Was generative AI tooling used to co-author this PR?
  • Yes (please specify the tool below)
    ChatGPT

kosiew added 2 commits June 4, 2026 18:20
…ferrable operators

Add "Retry args in deferrable mode" subsection under
DatabricksSubmitRunDeferrableOperator and DatabricksRunNowDeferrableOperator
explaining:
- Serialization requirement: only plain Python primitives allowed across
  the trigger boundary
- Supported shapes (int/float primitives, nested plain-dict)
- Unsupported shapes (Tenacity objects, callables) with note that a
  ValueError is raised at task submission
- Recommended workaround: use non-deferrable mode for custom retry strategies

Also update changelog for 7.16.0.
@kosiew kosiew force-pushed the callable-deserialization-02-64609 branch from 8b7caa8 to 283df3e Compare June 4, 2026 14:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant