HDDS-8154. Perf: Reuse Mac instances in S3 token validation #4433
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.
What changes were proposed in this pull request?
Due to the high cost of creating and initializing Mac instances, S3 token validation can be a bottleneck in OM latencies for S3 use cases.
Caching Mac instances in ThreadLocal (as they are stateful) and reusing them eliminates the need to create and initialize these objects from scratch, mitigating the high cost of S3 token validation and significantly reducing overhead while improving overall performance.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8154
How was this patch tested?
Existing UTs