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

Disable Task.WhenAll() in all cases #10914

Closed
divega opened this issue Feb 8, 2018 · 2 comments
Closed

Disable Task.WhenAll() in all cases #10914

divega opened this issue Feb 8, 2018 · 2 comments
Assignees
Labels
breaking-change closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. punted-for-3.0 type-enhancement
Milestone

Comments

@divega
Copy link
Contributor

divega commented Feb 8, 2018

Currently we have guards in query code that allow multiple queries from the same DbContext get serialized when using Task.WhenAll(). We originally did this to work with some of the query operators in IX Async which consumed the async enumerables in parallel. We now think this may be introducing unnecessary overhead, plus customers actually using Task.WhenAll() directly aren't getting what they expect.

This issue is about throwing when we find this scenario. It is a breaking change, but we believe it is worth considering. The code necessary to throw should have less overhead.

cc @anpete @ajcvickers @roji

@divega divega added this to the Breaking Changes milestone Feb 8, 2018
@divega divega changed the title Consider removing code that serializes async queries Consider removing code that serializes async queries executed concurrently Feb 8, 2018
@ajcvickers ajcvickers modified the milestones: Breaking Changes, 3.0.0 May 18, 2018
@ajcvickers
Copy link
Contributor

Remove in 3.0.

@ajcvickers ajcvickers changed the title Consider removing code that serializes async queries executed concurrently Disable Task.WhenAll() in all cases Mar 8, 2019
@ajcvickers ajcvickers modified the milestones: 3.0.0, Backlog Jun 28, 2019
@smitpatel smitpatel assigned smitpatel and unassigned smitpatel Aug 7, 2019
@smitpatel smitpatel modified the milestones: Backlog, 3.0.0 Aug 7, 2019
@smitpatel
Copy link
Contributor

Pulled this back in 3.0 since it was a product bug due to #12138

@smitpatel smitpatel added the closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. label Aug 7, 2019
smitpatel added a commit that referenced this issue Aug 7, 2019
This was causing deadlock issue in product because after concurrency exception the context is unusuable and in pooling scenario it caused forever wait in async queries

Resolves #10914
Resolves #12138
smitpatel added a commit that referenced this issue Aug 8, 2019
This was causing deadlock issue in product because after concurrency exception the context is unusuable and in pooling scenario it caused forever wait in async queries

Resolves #10914
Resolves #12138
smitpatel added a commit that referenced this issue Aug 8, 2019
This was causing deadlock issue in product because after concurrency exception the context is unusuable and in pooling scenario it caused forever wait in async queries

Resolves #10914
Resolves #12138
@ajcvickers ajcvickers modified the milestones: 3.0.0, 3.0.0-preview9 Aug 21, 2019
@ajcvickers ajcvickers modified the milestones: 3.0.0-preview9, 3.0.0 Nov 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. punted-for-3.0 type-enhancement
Projects
None yet
Development

No branches or pull requests

5 participants