-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Fix merging of composite availability #7718
Conversation
Thanks for the pull request @emackey!
Reviewers, don't forget to make sure that:
|
I need to fix the merge tests, they test for the bad behavior. |
I added a new test to ensure that I also modified one other test in a way I'm less certain of. This test specifically tested for Ultimately, in It would be great for this to sit in master for a while, to get some testing. I've done my own testing where I intentionally defer loading one collection or the other, and it's clear that master has a race condition there that is fixed here. |
# Conflicts: # CHANGES.md
The Travis fail is unrelated to tests on this branch. This is ready. |
# Conflicts: # CHANGES.md
@mramato Any chance you can take a look at this? |
Sorry for the slow roll here @emackey. This looks like a straightforward fix and I'm sure if there was a good reason it was flipped (spoiler alert, probably not) we'll be reminded of this soon enough. Thanks again! |
Fixes #7717
The
name
andavailability
weren't being cleaned by the CompositeEntityCollection's clean helper, so re-merging them wasn't taking place by order of composed collections, instead it was whatever the order that the underlying collections were being populated by the server, which was a race condition.At some point, the merge for
availability
had intentionally been installed backwards, possibly as a workaround for this race condition in a particular app.