Skip to content

Commit f1cecb8

Browse files
VpOfEngineeringazfuncghsoninarenv-smanchem
authored
4.19.0 - Add hotfix commits (#9172)
* Bumping minor version and clearing release notes from 4.17.1 (#9162) Co-authored-by: azfuncgh <[email protected]> * Revert "Switching worker indexing feature flag from opt-in to opt-out (#8864)" (#9163) * Update JitTrace files (#9169) --------- Co-authored-by: azfuncgh <[email protected]> Co-authored-by: Naren Soni <[email protected]> Co-authored-by: v-smanchem <[email protected]>
1 parent 1f75688 commit f1cecb8

File tree

13 files changed

+256
-156
lines changed

13 files changed

+256
-156
lines changed

build/common.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>netstandard2.1</TargetFramework>
55
<LangVersion>latest</LangVersion>
66
<MajorVersion>4</MajorVersion>
7-
<MinorVersion>18</MinorVersion>
7+
<MinorVersion>19</MinorVersion>
88
<PatchVersion>0</PatchVersion>
99
<BuildNumber Condition="'$(BuildNumber)' == '' ">0</BuildNumber>
1010
<PreviewVersion></PreviewVersion>

release_notes.md

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,9 @@
55
-->
66
- Update Python Worker Version to [4.11.0](https://github.com/Azure/azure-functions-python-worker/releases/tag/4.11.0)
77
- Update Java Worker Version to [2.10.0](https://github.com/Azure/azure-functions-java-worker/releases/tag/2.10.0)
8-
- Update Python Worker Version to [4.10.1](https://github.com/Azure/azure-functions-python-worker/releases/tag/4.10.1)
9-
- Update Python Worker Version to [4.10.0](https://github.com/Azure/azure-functions-python-worker/releases/tag/4.10.0)9
10-
- Update DiagnosticEventLoggerExtensions method names (#9056)
11-
- Emit diagnostic event upon Host Id collision (#9061)
12-
- Update custom handlers to support trigger return values (#8874)
13-
- Send Workerwarmup request to warm up the worker code path before specialization (#9018)
14-
- Update PowerShell Worker 7.2 to 4.0.2673 [Release Note](https://github.com/Azure/azure-functions-powershell-worker/releases/tag/v4.0.2673)
15-
- Add error details to RunFromPackage failure log (#9094)
168
- Update PowerShell Worker 7.2 to 4.0.2719 [Release Note](https://github.com/Azure/azure-functions-powershell-worker/releases/tag/v4.0.2719)
179
- Update Node.js Worker Version to [3.6.0](https://github.com/Azure/azure-functions-nodejs-worker/releases/tag/v3.6.0)
1810
- Upgrade PowerShell language worker 7.0 to 4.0.2733 [Release Note](https://github.com/Azure/azure-functions-powershell-worker/releases/tag/v4.0.2733)
1911

20-
**Release sprint:** Sprint 139
21-
[ [bugs](https://github.com/Azure/azure-functions-host/issues?q=is%3Aissue+milestone%3A%22Functions+Sprint+139%22+label%3Abug+is%3Aclosed) | [features](https://github.com/Azure/azure-functions-host/issues?q=is%3Aissue+milestone%3A%22Functions+Sprint+139%22+label%3Afeature+is%3Aclosed) ]
12+
**Release sprint:** Sprint 140
13+
[ [bugs](https://github.com/Azure/azure-functions-host/issues?q=is%3Aissue+milestone%3A%22Functions+Sprint+140%22+label%3Abug+is%3Aclosed) | [features](https://github.com/Azure/azure-functions-host/issues?q=is%3Aissue+milestone%3A%22Functions+Sprint+140%22+label%3Afeature+is%3Aclosed) ]

src/WebJobs.Script.WebHost/PreJIT/coldstart.jittrace

Lines changed: 216 additions & 113 deletions
Large diffs are not rendered by default.

src/WebJobs.Script.WebHost/PreJIT/linux.coldstart.jittrace

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7757,3 +7757,11 @@ string.Trim(char)~System.String,System.Private.CoreLib~1~0~Trim
77577757
[System.IO.Compression]System.IO.Compression.DeflateStream.Dispose(bool)~System.IO.Compression.DeflateStream,System.IO.Compression~1~0~Dispose
77587758
[System.IO.Compression]System.IO.Compression.DeflateStream.get_CanSeek()~System.IO.Compression.DeflateStream,System.IO.Compression~0~0~get_CanSeek
77597759
[System.IO.Compression]System.IO.Compression.DeflateStream.PurgeBuffers(bool)~System.IO.Compression.DeflateStream,System.IO.Compression~1~0~PurgeBuffers
7760+
[S.P.CoreLib]System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48.MoveNext()~System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib~0~0~MoveNext
7761+
[S.P.CoreLib]System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start<<WriteAsyncSlowPath>d__48>(<WriteAsyncSlowPath>d__48&)~System.Runtime.CompilerServices.AsyncMethodBuilderCore,System.Private.CoreLib~1~1:System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib~Start
7762+
[S.P.CoreLib]System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1<System.Threading.Tasks.VoidTaskResult,System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48>..cctor()~System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[[System.Threading.Tasks.VoidTaskResult,System.Private.CoreLib],[System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib]],System.Private.CoreLib~0~0~.cctor
7763+
[S.P.CoreLib]System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1<System.Threading.Tasks.VoidTaskResult,System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48>.ExecutionContextCallback(object)~System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[[System.Threading.Tasks.VoidTaskResult,System.Private.CoreLib],[System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib]],System.Private.CoreLib~1~0~ExecutionContextCallback
7764+
[S.P.CoreLib]System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1<System.Threading.Tasks.VoidTaskResult,System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48>.MoveNext()~System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[[System.Threading.Tasks.VoidTaskResult,System.Private.CoreLib],[System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib]],System.Private.CoreLib~0~0~MoveNext
7765+
[S.P.CoreLib]System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1<System.Threading.Tasks.VoidTaskResult,System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48>.System.Threading.IThreadPoolWorkItem.Execute()~System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[[System.Threading.Tasks.VoidTaskResult,System.Private.CoreLib],[System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib]],System.Private.CoreLib~0~0~System.Threading.IThreadPoolWorkItem.Execute
7766+
[S.P.CoreLib]System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1<System.Threading.Tasks.VoidTaskResult,System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48>.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(int16)~System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1+StateMachineBox`1[[System.Threading.Tasks.VoidTaskResult,System.Private.CoreLib],[System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib]],System.Private.CoreLib~1~0~System.Threading.Tasks.Sources.IValueTaskSource.GetResult
7767+
[S.P.CoreLib]System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1<System.Threading.Tasks.VoidTaskResult>.GetStateMachineBox<<WriteAsyncSlowPath>d__48>(<WriteAsyncSlowPath>d__48&,StateMachineBox<VoidTaskResult>&)~System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1[[System.Threading.Tasks.VoidTaskResult,System.Private.CoreLib]],System.Private.CoreLib~2~1:System.IO.Strategies.BufferedFileStreamStrategy+<WriteAsyncSlowPath>d__48,System.Private.CoreLib~GetStateMachineBox

src/WebJobs.Script/Host/WorkerFunctionMetadataProvider.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ namespace Microsoft.Azure.WebJobs.Script
2020
internal class WorkerFunctionMetadataProvider : IWorkerFunctionMetadataProvider
2121
{
2222
private readonly Dictionary<string, ICollection<string>> _functionErrors = new Dictionary<string, ICollection<string>>();
23-
private readonly IOptions<ScriptApplicationHostOptions> _scriptApplicationHostOptions;
23+
private readonly IOptions<ScriptJobHostOptions> _scriptOptions;
2424
private readonly ILogger _logger;
2525
private readonly IEnvironment _environment;
2626
private readonly IWebHostRpcWorkerChannelManager _channelManager;
2727
private string _workerRuntime;
2828
private ImmutableArray<FunctionMetadata> _functions;
2929

3030
public WorkerFunctionMetadataProvider(
31-
IOptions<ScriptApplicationHostOptions> scriptOptions,
31+
IOptions<ScriptJobHostOptions> scriptOptions,
3232
ILogger<WorkerFunctionMetadataProvider> logger,
3333
IEnvironment environment,
3434
IWebHostRpcWorkerChannelManager webHostRpcWorkerChannelManager)
3535
{
36-
_scriptApplicationHostOptions = scriptOptions;
36+
_scriptOptions = scriptOptions;
3737
_logger = logger;
3838
_environment = environment;
3939
_channelManager = webHostRpcWorkerChannelManager;
@@ -95,7 +95,7 @@ public async Task<FunctionMetadataResult> GetFunctionMetadataAsync(IEnumerable<R
9595
_logger.FunctionMetadataProviderFunctionFound(_functions.IsDefault ? 0 : _functions.Count());
9696

9797
// Validate if the app has functions in legacy format and add in logs to inform about the mixed app
98-
_ = Task.Delay(TimeSpan.FromMinutes(1)).ContinueWith(t => ValidateFunctionAppFormat(_scriptApplicationHostOptions.Value.ScriptPath, _logger, _environment));
98+
_ = Task.Delay(TimeSpan.FromMinutes(1)).ContinueWith(t => ValidateFunctionAppFormat(_scriptOptions.Value.RootScriptPath, _logger, _environment));
9999

100100
break;
101101
}

src/WebJobs.Script/ScriptConstants.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public static class ScriptConstants
121121
public const string FeatureFlagEnableDiagnosticEventLogging = "EnableDiagnosticEventLogging";
122122
public const string FeatureFlagDisableDiagnosticEventLogging = "DisableDiagnosticEventLogging";
123123
public const string FeatureFlagDisableMergedWebHostScriptHostConfiguration = "DisableMergedConfiguration";
124-
public const string FeatureFlagDisableWorkerIndexing = "DisableWorkerIndexing";
124+
public const string FeatureFlagEnableWorkerIndexing = "EnableWorkerIndexing";
125125
public const string FeatureFlagEnableDebugTracing = "EnableDebugTracing";
126126
public const string FeatureFlagEnableProxies = "EnableProxies";
127127
public const string HostingConfigDisableLinuxAppServiceDetailedExecutionEvents = "DisableLinuxExecutionDetails";

src/WebJobs.Script/Utility.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -926,9 +926,12 @@ public static void ValidateRetryOptions(RetryOptions
926926

927927
public static bool CanWorkerIndex(IEnumerable<RpcWorkerConfig> workerConfigs, IEnvironment environment)
928928
{
929-
if (!FeatureFlags.IsEnabled(ScriptConstants.FeatureFlagDisableWorkerIndexing, environment)
930-
&& workerConfigs != null
931-
&& !environment.IsMultiLanguageRuntimeEnvironment())
929+
if (!FeatureFlags.IsEnabled(ScriptConstants.FeatureFlagEnableWorkerIndexing, environment))
930+
{
931+
return false;
932+
}
933+
934+
if (workerConfigs != null && !environment.IsMultiLanguageRuntimeEnvironment())
932935
{
933936
var workerRuntime = environment.GetEnvironmentVariable(EnvironmentSettingNames.FunctionWorkerRuntime);
934937
var workerConfig = workerConfigs.FirstOrDefault(c => c.Description?.Language != null && c.Description.Language.Equals(workerRuntime, StringComparison.InvariantCultureIgnoreCase));

test/WebJobs.Script.Tests.Integration/WebHostEndToEnd/EndToEndTestFixture.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,6 @@ string GetDestPath(int counter)
122122
string logPath = Path.Combine(Path.GetTempPath(), @"Functions");
123123
if (!string.IsNullOrEmpty(_functionsWorkerRuntime))
124124
{
125-
string currentFeatureFlags = Environment.GetEnvironmentVariable(EnvironmentSettingNames.AzureWebJobsFeatureFlags);
126-
var featureFlags = string.IsNullOrEmpty(currentFeatureFlags) ? ScriptConstants.FeatureFlagDisableWorkerIndexing : $"{currentFeatureFlags}, {ScriptConstants.FeatureFlagDisableWorkerIndexing}";
127-
Environment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebJobsFeatureFlags, featureFlags);
128125
Environment.SetEnvironmentVariable(RpcWorkerConstants.FunctionWorkerRuntimeSettingName, _functionsWorkerRuntime);
129126
Environment.SetEnvironmentVariable(RpcWorkerConstants.FunctionsWorkerProcessCountSettingName, _workerProcessCount.ToString());
130127
}

test/WebJobs.Script.Tests.Shared/TestHostBuilderExtensions.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
using System;
55
using System.Collections.Generic;
6-
using System.Collections.Immutable;
7-
using System.Threading.Tasks;
86
using Microsoft.Azure.WebJobs;
97
using Microsoft.Azure.WebJobs.Host.Storage;
108
using Microsoft.Azure.WebJobs.Script;
@@ -103,13 +101,11 @@ private static IServiceCollection AddFunctionMetadataManager(this IServiceCollec
103101
var optionsMonitor = new OptionsMonitor<ScriptApplicationHostOptions>(factory, changeTokens, factory);
104102

105103
var metadataProvider = new HostFunctionMetadataProvider(optionsMonitor, NullLogger<HostFunctionMetadataProvider>.Instance, metricsLogger);
106-
107-
var workerProvider = new Mock<IWorkerFunctionMetadataProvider>();
108-
workerProvider.Setup(m => m.GetFunctionMetadataAsync(It.IsAny<IEnumerable<RpcWorkerConfig>>(), false)).Returns(Task.FromResult(new FunctionMetadataResult(true, ImmutableArray<FunctionMetadata>.Empty)));
109-
var defaultProvider = new FunctionMetadataProvider(NullLogger<FunctionMetadataProvider>.Instance, workerProvider.Object, metadataProvider);
104+
var defaultProvider = new FunctionMetadataProvider(NullLogger<FunctionMetadataProvider>.Instance, null, metadataProvider);
110105
var metadataManager = TestFunctionMetadataManager.GetFunctionMetadataManager(new OptionsWrapper<ScriptJobHostOptions>(new ScriptJobHostOptions()), defaultProvider, new List<IFunctionProvider>(), new OptionsWrapper<HttpWorkerOptions>(new HttpWorkerOptions()), new NullLoggerFactory(), new TestOptionsMonitor<LanguageWorkerOptions>(TestHelpers.GetTestLanguageWorkerOptions()));
111106
services.AddSingleton<IFunctionMetadataManager>(metadataManager);
112107
services.AddSingleton<IFunctionMetadataProvider>(defaultProvider);
108+
113109
return services;
114110
}
115111
}

test/WebJobs.Script.Tests/FunctionMetadataProviderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public void GetFunctionMetadataAsync_HostIndexing()
8484
functionMetadataCollection.Add(GetTestFunctionMetadata());
8585

8686
var workerConfigs = TestHelpers.GetTestWorkerConfigs().ToImmutableArray();
87-
workerConfigs.ToList().ForEach(config => config.Description.WorkerIndexing = "false");
87+
workerConfigs.ToList().ForEach(config => config.Description.WorkerIndexing = "true");
8888
var scriptjobhostoptions = new ScriptJobHostOptions();
8989
scriptjobhostoptions.RootScriptPath = Path.Combine(Environment.CurrentDirectory, @"..", "..", "..", "..", "..", "sample", "node");
9090

0 commit comments

Comments
 (0)