Skip to content

Commit faaeda3

Browse files
author
Sophia Tevosyan
committed
Merge branch 'stevosyan/distributed-tracing-for-entities-isolated' into stevosyan/distributed-tracing-for-entities-isolated-with-dtcore-nuget
2 parents 9f56097 + cf32735 commit faaeda3

File tree

6 files changed

+28
-9
lines changed

6 files changed

+28
-9
lines changed

Directory.Packages.props

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
<!-- Microsoft.Extensions.* Packages -->
1111
<ItemGroup>
1212
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0" />
13-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
13+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.2" />
1414
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="6.0.0" />
15-
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="6.0.0" Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net48'" />
15+
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="6.0.1" Condition="'$(TargetFramework)' == 'netstandard2.0' or '$(TargetFramework)' == 'net48'" />
1616
<PackageVersion Include="Microsoft.Extensions.Hosting" Version="8.0.1" Condition="'$(TargetFramework)' == 'net8.0'"/>
17-
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0" />
17+
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.1" />
1818
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.2" />
19-
<PackageVersion Include="Microsoft.Extensions.Options" Version="6.0.0" />
19+
<PackageVersion Include="Microsoft.Extensions.Options" Version="6.0.1" />
2020
<PackageVersion Include="Microsoft.Extensions.Options.DataAnnotations" Version="6.0.1" />
2121
</ItemGroup>
2222

eng/ci/code-mirror.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ trigger:
55
# Keep this set limited as appropriate (don't mirror individual user branches).
66
- main
77
- vabachu/release-testing
8+
- stevosyan/distributed-tracing-for-entities-isolated-with-dtcore-nuget
89

910
resources:
1011
repositories:

eng/ci/official-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ trigger:
1313
include:
1414
- main
1515
- vabachu/release-testing
16+
- stevosyan/distributed-tracing-for-entities-isolated-with-dtcore-nuget
1617

1718
# CI only, does not trigger on PRs.
1819
pr: none

src/Abstractions/TaskOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public SubOrchestrationOptions(TaskOptions options, string? instanceId = null)
9494
/// <summary>
9595
/// Gets the version to associate with the sub-orchestration instance.
9696
/// </summary>
97-
public TaskVersion Version { get; init; } = default!;
97+
public TaskVersion? Version { get; init; }
9898
}
9999

100100
/// <summary>

src/Client/Grpc/GrpcDurableTaskClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public override async Task<string> ScheduleNewOrchestrationInstanceAsync(
7979
Check.NotEntity(this.options.EnableEntitySupport, options?.InstanceId);
8080

8181
// We're explicitly OK with an empty version from the options as that had to be explicitly set. It should take precedence over the default.
82-
string version = string.Empty;
82+
string? version = null;
8383
if (options?.Version is { } v)
8484
{
8585
version = v;

src/Worker/Core/Shims/TaskOrchestrationContextWrapper.cs

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,8 @@ public override async Task<TResult> CallSubOrchestratorAsync<TResult>(
179179
static string? GetInstanceId(TaskOptions? options)
180180
=> options is SubOrchestrationOptions derived ? derived.InstanceId : null;
181181
string instanceId = GetInstanceId(options) ?? this.NewGuid().ToString("N");
182-
string defaultVersion = this.invocationContext.Options?.Versioning?.DefaultVersion ?? string.Empty;
183-
string version = options is SubOrchestrationOptions subOptions ? subOptions.Version : defaultVersion;
184-
182+
string defaultVersion = this.GetDefaultVersion();
183+
string version = options is SubOrchestrationOptions { Version: { } v } ? v.Version : defaultVersion;
185184
Check.NotEntity(this.invocationContext.Options.EnableEntitySupport, instanceId);
186185

187186
// if this orchestration uses entities, first validate that the suborchestration call is allowed in the current context
@@ -482,4 +481,22 @@ async Task<T> InvokeWithCustomRetryHandler<T>(
482481
}
483482
}
484483
}
484+
485+
// The default version can come from two different places depending on the context of the invocation.
486+
string GetDefaultVersion()
487+
{
488+
// Preferred choice.
489+
if (this.invocationContext.Options.Versioning?.DefaultVersion is { } v)
490+
{
491+
return v;
492+
}
493+
494+
// Secondary choice.
495+
if (this.Properties.TryGetValue("defaultVersion", out var propVersion) && propVersion is string v2)
496+
{
497+
return v2;
498+
}
499+
500+
return string.Empty;
501+
}
485502
}

0 commit comments

Comments
 (0)