-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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/8.0] Revert performance optimization resulting in incorrect lookups in certain case insensitive frozen collections #94685
Conversation
Tagging subscribers to this area: @dotnet/area-system-collections Issue DetailsBackport of #94667 to release/8.0 Customer impactAddresses a customer reported issue where under certain circumstances, frozen collections produce erroneous lookup results when keyed on case-insensitive strings. After a lot deliberation, we have decided to revert the particular performance optimization that was causing the bug. While this change will result in perf regression, we are fine with this since
TestingAdded unit testing covering the impacted scenario. RiskLow. Makes targeted changes in the
|
Friendly reminder: If you'd like this to be included in the December release, please merge it before Tuesday November 14th EOD (Code Complete). |
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!
@carlossanlop Should this target the |
Approved over email. |
…ivity in FrozenCollections (dotnet#94667) * Add failing tests * Fix incorrect case sensitivity in FrozenDictionary and FrozenSet for some cases fixes dotnet#93974 * When hashing the entire string, case sensitivity of hash and equals should be the same * Address code review comments * Only ignore case insensitivity if entire string is ASCII non-letters * Code review comments * Undo some new lines * Fixed tests - incorrect leftover from previous PR
e72d5e1
to
5fd9852
Compare
Build errors are known issues. |
e585246
into
dotnet:release/8.0-staging
Backport of #94667 to release/8.0
Customer impact
Addresses a customer reported issue where under certain circumstances, frozen collections produce erroneous lookup results when keyed on case-insensitive strings. After a lot deliberation, we have decided to revert the particular performance optimization that was causing the bug. While this change will result in perf regression, we are fine with this since
Testing
Added unit testing covering the impacted scenario.
Risk
Low. Makes targeted changes in the
KeyAnalyzer
component disabling the optimization for the cases where it isn't valid.