-
Notifications
You must be signed in to change notification settings - Fork 181
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 map comparison of nil values and missing keys #108
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/assign @evanphx |
fyi - green CI in kubernetes with this fix at kubernetes/kubernetes#92482 |
@evanphx would you mind looking over this when you have a chance? |
@evanphx friendly ping |
A performance bug was discovered that can cause CRD diffs to fail. This bug is fixed in an open PR [1] to the upstream repo, but has not been merged yet. In the meantime, I forked the json-patch repo, and applied the fix [2]. This change will be reverted once the upstream patch merges, and the module will be updated to point at the fixed changeset. [1] evanphx/json-patch#108 [2] https://github.com/pulumi/json-patch
* Update json-patch mod to fix hangs on pulumi update A performance bug was discovered that can cause CRD diffs to fail. This bug is fixed in an open PR [1] to the upstream repo, but has not been merged yet. In the meantime, I forked the json-patch repo, and applied the fix [2]. This change will be reverted once the upstream patch merges, and the module will be updated to point at the fixed changeset. [1] evanphx/json-patch#108 [2] https://github.com/pulumi/json-patch * gofmt
if this and #111 were merged, and a v4.8.0 release cut, 4.x consumers could pick up performance and panic bugfixes on the 4.x stream without getting breaking behavior changes, which would be great |
thank you very much, this gives us a level we can use on release branches |
I did open #113 to make 4.x releases addressable by tag again, which is the last issue I'm aware of with the 4.x stream |
The existing matchesValue map comparison treats missing keys and nil values equivalently, which means it can return true for maps that are not actually equal
cc @logicalhan