Azure / Azure/azure-functions-host
dotnet-isolated apps with /bin/extensions.json in payloads will not run correctly
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 38
Description
We've seen several cases where apps are zipped or built incorrectly and include some older or in-proc artifacts in `/bin`. If we detect an `extensions.json` file in there, we'll use that as our root, which leads to us using this folder as our base for finding extensions and assemblies. This doesn't work in the dotnet-isolated case, where we explicitly build things into the `.azurefunctions` folder.
Ideally we'd:
- log a diagnostic event if we're in some odd state here -- in this case we were starting FunctionsNetHost.exe b/c we never saw anything from the payload to override it (as we never found extensions).
- it also took us a while to detect b/c we don't explicitly log that we've found extensions.json or what the payload of that file was.
For internal reference, ICM number is 463094034.
Contributor guide
Research direction
Start by tracing how the host handles `/bin/extensions.json` and the `.azurefunctions` folder when building the extension and assembly search root. Reproduce the dotnet-isolated payload case and inspect when `FunctionsNetHost.exe` is selected. Done means the odd state produces a diagnostic event and extension discovery logs identify the detected file and its payload.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100