MONGOID-5848 Revert MONGOID-5822 (8.0 backport)#6015
Merged
jamis merged 1 commit intomongodb:8.0-stablefrom Jul 23, 2025
Merged
MONGOID-5848 Revert MONGOID-5822 (8.0 backport)#6015jamis merged 1 commit intomongodb:8.0-stablefrom
jamis merged 1 commit intomongodb:8.0-stablefrom
Conversation
…ociation depends on parent update (mongodb#5922) (mongodb#5925)" This reverts commit ed8bc62.
comandeo-mongo
approved these changes
Jul 23, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport to 8.0
Summary
MONGOID-5822 attempted to fix a regression where child callbacks that depended on parent state were no longer invoked if the child had not changed. However, the fix itself introduced an unacceptable performance regression.
This PR restores the earlier functionality, which will break apps that depend on callbacks being invoked on unmodified children.
For now, the correct way to implement that behavior is to explicitly iterate over the children in a parent callback, e.g.: