Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify FunctionsPreservedDependencies and FunctionsSkipCleanOutput #77460

Closed
wants to merge 3 commits into from

Conversation

fowl2
Copy link
Contributor

@fowl2 fowl2 commented Jun 25, 2021

Clarify FunctionsPreservedDependencies and FunctionsSkipCleanOutput with some info gleaned from Azure/azure-functions-host#6849 (comment)


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

@PRMerger8
Copy link
Contributor

@fowl2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@PRMerger6
Copy link
Contributor

@fowl2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 6, 2021

This pull request has been inactive for 14 days. If you are finished with your changes, don't forget to sign off. See the contributor guide for instructions.

Get Help Docs Support Teams Channel Resolve Merge Conflict

@Jak-MS Jak-MS added the keep-open Do not automatically close due to inactivity. label Aug 6, 2021
@Jak-MS
Copy link
Contributor

Jak-MS commented Aug 6, 2021

@ggailey777 - what do you think?

@github-actions github-actions bot removed the inactive label Aug 6, 2021
@fowl2
Copy link
Contributor Author

fowl2 commented Feb 1, 2022

@gzuber you contributed to the other issue, could you help here?

@ktoliver
Copy link
Contributor

ktoliver commented Feb 1, 2022

@ggailey777 @mijacobs Is a resource available to review the proposed update to the article?

Thanks.

@ggailey777
Copy link
Contributor

@fowl2 and @bryanknox sorry for the delay in getting to this submission. I checked with the product team, and they would actually prefer that we remove this workaround documentation altogether. Apparently, the issue occurs rarely, and using these settings when not needed can negatively impact performance. Thanks for having us take another look at this section of the article. #please-close

@PRMerger5 PRMerger5 closed this Feb 2, 2022
@fowl2
Copy link
Contributor Author

fowl2 commented Feb 3, 2022

The reason I created this PR was because I had an issue, had to trawl through GitHub to resolve it and figured I'd save someone (possibly me) the trouble again in future. So I'd encourage you to reconsider, thanks.

@bryanknox
Copy link

Please reconsider closing this PR. It would be helpful for the FunctionsSkipCleanOutput` feature to be documented, even if it is rarely used.

Possible performance impacts of its use could also be document. That would help folks make better choices. Rather than leaving it undocumented and forcing people like @fowl2 and I to do more work, and perhaps take more risks, with undocumented features.

@ggailey777
Copy link
Contributor

I do appreciate your passion for helping our customers succeed. I've spoken to our support folks and I've asked them to let me know if there are negative impacts due to this removal.

@bryanknox
Copy link

I wrote a blog post about _FunctionsSkipCleanOutput and FunctionsPreservedDependencies. Hopefully it may help the few of us who need it.

https://bryanknox.github.io/2022/07/15/functionsskipcleanoutput-and-functionspreserveddependencies.html

@crawcojoe
Copy link

The blog post from @bryanknox saved us here. Really surprised this has been removed from the original documentation.

@oakular
Copy link

oakular commented Mar 31, 2023

If this had been documented officially, it would have saved an awful lot of time. It is not clear that this mechanism exists by default, and the resultant error message points nowhere to the cleaning operation being the cause.

@bryanknox thank you for documenting this on your blog.

@jeffcollaboro
Copy link

jeffcollaboro commented May 6, 2023

Hmm same, this seems to happen rarely, but on an often basis. Of course trading poorly performing, for not working at all makes sense. Lets put that dust bunny back under the rug where it belongs.

@bryanknox thank you for documenting this on your blog.

@bgauseMSFT
Copy link
Contributor

@bryanknox thanks for the blog post!

I'll add on to this thread that for me, the workarounds described in the blog post initially did not work, however once I changed from targeting net7.0 to net6.0, they did end up working.

@rschurchill
Copy link

@Bryanknow What is the real fix, as in the mode of operation that does not cause the problem in the first place. Is it that we should run Azure Functions always in isolated mode wherever possible?

I can't help feeling this is a bug that no-one wants to address.

@bryanknox
Copy link

@rschurchill the future of Azure Functions is the isolated worker model. In-process functions will be out of support at the same time as .NET LST version they depend on. November 2024 for .NET 6, and November 2026 for .NET 8. I recommend moving to isolated functions.

My understanding of the root of this issue is that in-process functions will often depend on assemblies that are also used by the functions runtime in the same process. The runtime will unload those assemblies, even if the function app depends on a different version of the assembly than is used by the functions the runtime. I'm guessing this issue won't be addressed, even when in-process function support is added to .NET 8 in 2024.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aq-pr-triaged tracking label for the PR review team azure-functions/svc Change sent to author do-not-merge keep-open Do not automatically close due to inactivity.
Projects
None yet
Development

Successfully merging this pull request may close these issues.