[#6768] CosmosDBKeyEscape.TruncateKeyIfNeeded return different value after compiled #6860
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.
Fixes #6768
Description
This PR implements a custom GetHashCode method to return the same hash code even on different bots' runs. This code is used in CosmosDBKeyEscape to truncate keys that are longer than 255 characters.
Specific Changes
GetDeterministicHashCode
method in the CosmosDBKeyEscape class to replace the call to String.GetHashCode.Long_Key_Should_Be_Truncated
unit test to use the new method and verify its result.Testing
These images compare the hash codes returned by the GetHashCode and GetDeterministicHashCode methods in two different bot runs.