Skip to content

Support Custom Exception Provider at Durable Functions Java#3441

Open
nytian wants to merge 1 commit into
devfrom
nytian/failure-details
Open

Support Custom Exception Provider at Durable Functions Java#3441
nytian wants to merge 1 commit into
devfrom
nytian/failure-details

Conversation

@nytian
Copy link
Copy Markdown
Collaborator

@nytian nytian commented May 7, 2026

No description provided.

Copilot AI review requested due to automatic review settings May 7, 2026 16:25
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds Java-side e2e app scaffolding for validating custom exception properties in Durable Functions failure details, and updates comments to clarify current limitations for non-.NET languages.

Changes:

  • Updated the e2e test skip rationale for Java around custom exception properties in FailureDetails.
  • Added a Java orchestration + activity that throws a custom exception with various typed properties.
  • Clarified OutOfProcMiddleware commentary about why properties may be unavailable in the non-.NET fallback parsing path.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
test/e2e/Tests/Tests/ErrorHandlingTests.cs Adjusts Java skip comment for the FailureDetails custom-properties test.
test/e2e/Apps/BasicJava/src/main/java/com/function/exceptions/BusinessValidationException.java Introduces a custom Java exception type with getters for multiple property shapes.
test/e2e/Apps/BasicJava/src/main/java/com/function/CustomExceptionPropertiesOrchestration.java Adds a Java orchestrator/activity pair that throws the custom exception and returns FailureDetails.
src/WebJobs.Extensions.DurableTask/OutOfProcMiddleware.cs Refines comments explaining why exception properties aren’t available in a non-JSON fallback parsing path.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +228 to 229
[Trait("Java", "Skip")] // Java SDK v1.6.0 doesn't serialize custom exception properties
[Trait("DTS", "Skip")] // DTS doesn't support this feature yet.
[Trait("Python", "Skip")] // FailureDetails is a dotnet-isolated implementation detail
[Trait("Node", "Skip")] // FailureDetails is a dotnet-isolated implementation detail
[Trait("Java", "Skip")] // Include exception properties at Failure Details for Java is not supported yet.
[Trait("Java", "Skip")] // Java SDK v1.6.0 doesn't serialize custom exception properties
Comment on lines +33 to +34
// Should never reach here.
return null;
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.

2 participants