-
Notifications
You must be signed in to change notification settings - Fork 442
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
fixing dryioc IServiceProvider scoping issues #8170
Conversation
@NickCraver , it would be good to run perf tests on this change to see how this helps with the issues you've found in the past. @brettsam was looking at this primarily to address the scoping issue, but I spent some time with him to share the approach I had mentioned to you in the past, which enables us to remove the problematic call to |
src/WebJobs.Script.WebHost/DependencyInjection/DryIoc/DryIocAdapter.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@fabiocav sorry sinus & migraine are winning today and I'm only checking in on laptop - I plan to profile this thing where my setup is first thing tomorrow AM! |
there's still some breaks here that i'll fix tomorrow -- so hold off until i at least get a green run, @NickCraver |
@brettsam ACK - I have current dev comparisons down, ready for a run at this soon as you say ready! |
@NickCraver -- all green! should be ready now! |
This one closed out #8073 automatically, but since it only addresses a portion of the performance problem I recommend we leave that issue open - thoughts? |
Yep! re-opened it. Sorry about that! |
/backport to v3.x |
Started backporting to v3.x: https://github.com/Azure/azure-functions-host/actions/runs/2334407205 |
@brettsam backporting to v3.x failed, the patch most likely resulted in conflicts: $ git am --3way --ignore-whitespace --keep-non-patch changes.patch
Applying: fixing dryioc IServiceProvider scoping issues
Using index info to reconstruct a base tree...
M src/WebJobs.Script.WebHost/DependencyInjection/DryIoc/Container.cs
M src/WebJobs.Script.WebHost/DependencyInjection/ScopedResolver.cs
Falling back to patching base and 3-way merge...
Auto-merging src/WebJobs.Script.WebHost/DependencyInjection/ScopedResolver.cs
CONFLICT (content): Merge conflict in src/WebJobs.Script.WebHost/DependencyInjection/ScopedResolver.cs
Auto-merging src/WebJobs.Script.WebHost/DependencyInjection/DryIoc/Container.cs
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 fixing dryioc IServiceProvider scoping issues
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Error: The process '/usr/bin/git' failed with exit code 128 Please backport manually! |
Fixes #7874
Fixes #8073
/cc @NickCraver @liliankasem @fabiocav @mathewc @safihamid
Draft for now; want to follow up with some more unit tests for different scoping behaviors.