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

[release/7.0] Prevent re-entrance into DetectChanges #30240

Merged
merged 2 commits into from
Feb 14, 2023

Conversation

ajcvickers
Copy link
Member

@ajcvickers ajcvickers commented Feb 9, 2023

Port of #30204
Fixes #30122
Fixes #30135

Description

EF7 contains some new calls to local DetectChanges. This resulted in re-entrance into DetectChanges for some types of graphs. This change prevents that.

Customer impact

So far two different reported issues where the re-entrance caused incorrect behavior, and we expect more cases of exceptions or incorrect state depending on the shape and state of graphs being traversed.

How found

Multiple customer reports on 7.0.

Regression

Yes.

Testing

New tests added for the reported graphs and similar cases.

Risk

Low; flag to prevent re-entrance, does not need to be thread-safe, and a quirk was added to revert back to older behavior.

Fixes #30122
Fixes #30135

EF7 contained some new calls to local `DetectChanges`. This resulted in re-entrance into `DetectChanges` for some types of graphs. This change prevents that.
@ajcvickers ajcvickers requested a review from a team February 9, 2023 12:09
@ajcvickers ajcvickers added this to the 7.0.x milestone Feb 9, 2023
@ajcvickers ajcvickers merged commit 88f308e into release/7.0 Feb 14, 2023
@ajcvickers ajcvickers deleted the InThroughTheInDoor0209 branch February 14, 2023 18:28
@dougbu dougbu modified the milestones: 7.0.x, 7.0.4 Feb 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants