Skip to content

Commit c8ff67f

Browse files
committed
initial commit
1 parent 06de0be commit c8ff67f

22 files changed

+1489
-1072
lines changed

src/Abstractions/DurableTaskCoreExceptionsExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ static class DurableTaskCoreExceptionsExtensions
4949
failureDetails.ErrorType,
5050
failureDetails.ErrorMessage,
5151
failureDetails.StackTrace,
52-
failureDetails.InnerFailure?.ToTaskFailureDetails());
52+
failureDetails.InnerFailure?.ToTaskFailureDetails(),
53+
failureDetails.Properties);
5354
}
5455
}

src/Abstractions/TaskFailureDetails.cs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ namespace Microsoft.DurableTask;
1515
/// <param name="ErrorMessage">A summary description of the failure.</param>
1616
/// <param name="StackTrace">The stack trace of the failure.</param>
1717
/// <param name="InnerFailure">The inner cause of the task failure.</param>
18-
public record TaskFailureDetails(string ErrorType, string ErrorMessage, string? StackTrace, TaskFailureDetails? InnerFailure)
18+
/// <param name="Properties">Additional properties associated with the exception.</param>
19+
public record TaskFailureDetails(string ErrorType, string ErrorMessage, string? StackTrace, TaskFailureDetails? InnerFailure, IDictionary<string, object>? Properties)
1920
{
2021
Type? loadedExceptionType;
2122

@@ -123,7 +124,8 @@ internal CoreFailureDetails ToCoreFailureDetails()
123124
this.ErrorMessage,
124125
this.StackTrace,
125126
this.InnerFailure?.ToCoreFailureDetails(),
126-
isNonRetriable: false);
127+
isNonRetriable: false,
128+
this.Properties);
127129
}
128130

129131
/// <summary>
@@ -143,7 +145,8 @@ internal CoreFailureDetails ToCoreFailureDetails()
143145
coreFailureDetails.ErrorType,
144146
coreFailureDetails.ErrorMessage,
145147
coreFailureDetails.StackTrace,
146-
FromCoreFailureDetails(coreFailureDetails.InnerFailure));
148+
FromCoreFailureDetails(coreFailureDetails.InnerFailure),
149+
coreFailureDetails.Properties);
147150
}
148151

149152
[return: NotNullIfNotNull(nameof(exception))]
@@ -160,14 +163,16 @@ internal CoreFailureDetails ToCoreFailureDetails()
160163
coreEx.FailureDetails?.ErrorType ?? "(unknown)",
161164
coreEx.FailureDetails?.ErrorMessage ?? "(unknown)",
162165
coreEx.FailureDetails?.StackTrace,
163-
FromCoreFailureDetailsRecursive(coreEx.FailureDetails?.InnerFailure) ?? FromExceptionRecursive(coreEx.InnerException));
166+
FromCoreFailureDetailsRecursive(coreEx.FailureDetails?.InnerFailure) ?? FromExceptionRecursive(coreEx.InnerException),
167+
coreEx.FailureDetails?.Properties ?? null);
164168
}
165169

166170
return new TaskFailureDetails(
167171
exception.GetType().ToString(),
168172
exception.Message,
169173
exception.StackTrace,
170-
FromExceptionRecursive(exception.InnerException));
174+
FromExceptionRecursive(exception.InnerException),
175+
null);// might need to udpate this later
171176
}
172177

173178
static TaskFailureDetails? FromCoreFailureDetailsRecursive(CoreFailureDetails? coreFailureDetails)
@@ -181,6 +186,7 @@ internal CoreFailureDetails ToCoreFailureDetails()
181186
coreFailureDetails.ErrorType,
182187
coreFailureDetails.ErrorMessage,
183188
coreFailureDetails.StackTrace,
184-
FromCoreFailureDetailsRecursive(coreFailureDetails.InnerFailure));
189+
FromCoreFailureDetailsRecursive(coreFailureDetails.InnerFailure),
190+
coreFailureDetails.Properties);
185191
}
186192
}

src/Client/OrchestrationServiceClientShim/ShimExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public static Core.OrchestrationStatus ConvertToCore(this OrchestrationRuntimeSt
7575
}
7676

7777
TaskFailureDetails? inner = details.InnerFailure?.ConvertFromCore();
78-
return new TaskFailureDetails(details.ErrorType, details.ErrorMessage, details.StackTrace, inner);
78+
return new TaskFailureDetails(details.ErrorType, details.ErrorMessage, details.StackTrace, inner, details.Properties);
7979
}
8080

8181
/// <summary>

0 commit comments

Comments
 (0)