Skip to content

Commit 5665975

Browse files
committed
Fixes
- Update naming - Config for ooproc in AzureFunctions - Bump version to 1.6.0
1 parent 3819674 commit 5665975

File tree

3 files changed

+27
-11
lines changed

3 files changed

+27
-11
lines changed

src/DurableTask.SqlServer.AzureFunctions/SqlDurabilityProviderFactory.cs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ class SqlDurabilityProviderFactory : IDurabilityProviderFactory
2222
readonly ILoggerFactory loggerFactory;
2323
readonly IConnectionInfoResolver connectionInfoResolver;
2424

25+
readonly bool useSeparateQueueForEntityWorkItems = false;
26+
2527
SqlDurabilityOptions? defaultOptions;
2628
SqlDurabilityProvider? defaultProvider;
2729

@@ -37,11 +39,22 @@ class SqlDurabilityProviderFactory : IDurabilityProviderFactory
3739
public SqlDurabilityProviderFactory(
3840
IOptions<DurableTaskOptions> extensionOptions,
3941
ILoggerFactory loggerFactory,
40-
IConnectionInfoResolver connectionInfoResolver)
42+
IConnectionInfoResolver connectionInfoResolver,
43+
#pragma warning disable CS0612 // Type or member is obsolete
44+
IPlatformInformation platformInfo)
45+
#pragma warning restore CS0612 // Type or member is obsolete
4146
{
4247
this.extensionOptions = extensionOptions?.Value ?? throw new ArgumentNullException(nameof(extensionOptions));
4348
this.loggerFactory = loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory));
4449
this.connectionInfoResolver = connectionInfoResolver ?? throw new ArgumentNullException(nameof(connectionInfoResolver));
50+
51+
WorkerRuntimeType runtimeType = platformInfo.GetWorkerRuntimeType();
52+
if (runtimeType == WorkerRuntimeType.DotNetIsolated ||
53+
runtimeType == WorkerRuntimeType.Java ||
54+
runtimeType == WorkerRuntimeType.Custom)
55+
{
56+
this.useSeparateQueueForEntityWorkItems = true;
57+
}
4558
}
4659

4760
// Called by the Durable trigger binding infrastructure
@@ -85,9 +98,11 @@ public DurabilityProvider GetDurabilityProvider(DurableClientAttribute attribute
8598

8699
SqlOrchestrationService GetOrchestrationService(SqlDurabilityOptions clientOptions)
87100
{
88-
return new (clientOptions.GetOrchestrationServiceSettings(
101+
SqlOrchestrationServiceSettings sqlOrchestrationServiceSettings = clientOptions.GetOrchestrationServiceSettings(
89102
this.extensionOptions,
90-
this.connectionInfoResolver));
103+
this.connectionInfoResolver);
104+
sqlOrchestrationServiceSettings.UseSeparateQueueForEntityWorkItems = this.useSeparateQueueForEntityWorkItems;
105+
return new(sqlOrchestrationServiceSettings);
91106
}
92107

93108
static string GetDurabilityProviderKey(DurableClientAttribute attribute)

src/DurableTask.SqlServer/SqlOrchestrationService.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public override EntityBackendProperties EntityBackendProperties
6565
UseSeparateQueueForEntityWorkItems = this.settings.UseSeparateQueueForEntityWorkItems,
6666
};
6767

68-
public override EntityBackendQueries? EntityBackendQueries => new EntitySqlBackendQueries(this.EntityBackendProperties);
68+
public override EntityBackendQueries? EntityBackendQueries => new EntitySqlBackendQueries(this);
6969

7070
static SqlOrchestrationServiceSettings? ValidateSettings(SqlOrchestrationServiceSettings? settings)
7171
{
@@ -129,7 +129,7 @@ public override Task DeleteAsync(bool deleteInstanceStore)
129129
public override async Task<TaskOrchestrationWorkItem> LockNextOrchestrationWorkItemAsync(TimeSpan receiveTimeout, CancellationToken cancellationToken)
130130
{
131131
#pragma warning disable CS8603 // Possible null reference return. Need to update base signature in IEntityOrchestrationService
132-
return await this.LockNextTaskOrchestrationWorkItemAsync(
132+
return await this.LockNextWorkItemAsync(
133133
receiveTimeout,
134134
cancellationToken,
135135
OrchestrationFilterType.OrchestrationsOnly);
@@ -139,7 +139,7 @@ public override async Task<TaskOrchestrationWorkItem> LockNextOrchestrationWorkI
139139
public override async Task<TaskOrchestrationWorkItem> LockNextEntityWorkItemAsync(TimeSpan receiveTimeout, CancellationToken cancellationToken)
140140
{
141141
#pragma warning disable CS8603 // Possible null reference return. Need to update base signature in IEntityOrchestrationService
142-
return await this.LockNextTaskOrchestrationWorkItemAsync(
142+
return await this.LockNextWorkItemAsync(
143143
receiveTimeout,
144144
cancellationToken,
145145
OrchestrationFilterType.EntitiesOnly);
@@ -150,12 +150,13 @@ public override async Task<TaskOrchestrationWorkItem> LockNextEntityWorkItemAsyn
150150
TimeSpan receiveTimeout,
151151
CancellationToken cancellationToken)
152152
{
153-
return await this.LockNextOrchestrationWorkItemAsync(
153+
return await this.LockNextWorkItemAsync(
154154
receiveTimeout,
155-
cancellationToken);
155+
cancellationToken,
156+
OrchestrationFilterType.OrchestrationsOnly);
156157
}
157158

158-
async Task<TaskOrchestrationWorkItem?> LockNextTaskOrchestrationWorkItemAsync(
159+
async Task<TaskOrchestrationWorkItem?> LockNextWorkItemAsync(
159160
TimeSpan receiveTimeout,
160161
CancellationToken cancellationToken,
161162
OrchestrationFilterType orchestrationFilterType = OrchestrationFilterType.All)

src/common.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
<!-- Version settings: https://andrewlock.net/version-vs-versionsuffix-vs-packageversion-what-do-they-all-mean/ -->
1717
<PropertyGroup>
1818
<MajorVersion>1</MajorVersion>
19-
<MinorVersion>5</MinorVersion>
20-
<PatchVersion>2</PatchVersion>
19+
<MinorVersion>6</MinorVersion>
20+
<PatchVersion>0</PatchVersion>
2121
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
2222
<VersionSuffix></VersionSuffix>
2323
<AssemblyVersion>$(MajorVersion).$(MinorVersion).0.0</AssemblyVersion>

0 commit comments

Comments
 (0)