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] Fix batching boundary with cycle breaking #29388

Merged
merged 1 commit into from
Oct 18, 2022

Conversation

roji
Copy link
Member

@roji roji commented Oct 18, 2022

Fixes #29356

Description

In 7.0, we added a perf optimization where our topological sort identifies special graph edges which require a batching boundary (e.g. between adding a principal with a database-generated ID and a dependent). However, in certain cases where there's a cycle in the graph and we perform cycle breaking, the batching boundary wasn't respected, and both commands were sent together in the same batch, causing an error.

Customer impact

Certain update patterns which have worked before now produce an exception.

How found

Customer reported on 7.0 RC.

Regression

Yes, in 7.0 (unreleased).

Testing

Added a test.

Risk

Low, minimal simple change.

@roji roji changed the title Fix batching boundary with cycle breaking [release/7.0] Fix batching boundary with cycle breaking Oct 18, 2022
@ajcvickers
Copy link
Member

@roji All_test_bases_must_be_implemented failures.

@ajcvickers ajcvickers added this to the 7.0.0 milestone Oct 18, 2022
@roji roji force-pushed the FixBatchingTopologicalSort branch from 13bc8d9 to 15d6ca7 Compare October 18, 2022 16:46
@roji
Copy link
Member Author

roji commented Oct 18, 2022

Fixed, thanks.

@ajcvickers ajcvickers merged commit b39d274 into dotnet:release/7.0 Oct 18, 2022
@roji roji deleted the FixBatchingTopologicalSort branch October 18, 2022 19:10
roji added a commit to roji/efcore that referenced this pull request Oct 20, 2022
@ajcvickers ajcvickers removed this from the 7.0.0 milestone Jan 12, 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