fix: Use thread-safe hash for big segments hashing. #180
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.
SHA256 instances are not thread-safe and under heavy-parallelism will fail.
Newer .Net frameworks have a static method which is higher performance under heavy-parallelism and inherently thread-safe.
This PR introduces a thin abstraction that uses the correct method in a thread-safe way depending on the framework.
Note
Replaces a shared SHA256 instance with a thread-safe
LdSha256utility and updates Big Segments hashing to use it.LdSha256utility that usesSHA256.HashDataon .NET 5+ and per-callComputeHashon older targets.BigSegmentsInternalTypes.BigSegmentContextKeyHashto useLdSha256.HashDatainstead of a sharedSHA256instance.Written by Cursor Bugbot for commit d5ab7a0. This will update automatically on new commits. Configure here.