microsoft / microsoft/durabletask-mssql

Error propagation is not working properly even after upgrading to latest version of Sql server

Open
#209 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P1
Dominant language
C#
Stars
105
Forks
36
PR merge metrics
No merged PRs in 30d

Description

We have updated SQLServer and Core libraries for Error propagation fix and started testing with both the modes "ErrorPropagationMode.SerializeExceptions", "ErrorPropagationMode.UseFailureDetails". Please find my observations help me with my use case.

Use Case :

We have one parent orchestration , one sub orchestration under parent orchestration , one task(Activity) under sub orchestration.
I am expecting to propagate the exception occurred in sub orchestration task to both Sub orchestration and Parent orchestration. Below are my findings.

TaskHubWorker:

   var taskHub = new TaskHubWorker(orchestrationService);
   taskHub.ErrorPropagationMode = ErrorPropagationMode.UseFailureDetails;
   orchestrationService.CreateIfNotExistsAsync().Wait();

Scenarios :

With SerializeExceptions : Inner Exception is always null in Sub Orchestration and Parent Orchestration.
With UseFailureDetails : I am able to see the Failure details(Including stack trace) of the Sub Orchestration Activity in Sub Orchestration. Same way i am able to see the failure details of Sub Orchestration in Parent Orchestration but not able to see the Failure details of Sub orchestration activity. Its coming as null.

Could you please help me with this.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the TaskHubWorker.ErrorPropagationMode configuration and the linked fix in PR #188. Reproduce the parent orchestration, sub-orchestration, and activity scenario using both SerializeExceptions and UseFailureDetails. Done means the expected inner exceptions or failure details propagate at each orchestration level.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.