Skip to content
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

Add shared, lazy SessionKeySupplier implementation #940

Merged
merged 1 commit into from
Jul 5, 2024

Conversation

yawkat
Copy link
Member

@yawkat yawkat commented Jul 2, 2024

During startup, prof shows that a significant time is spent inside RSA key generation in the default SessionKeySupplierImpl, both in the constructor and in refreshKeys. This PR adds a new implementation that avoids generating keys until first time of use, and shares the session key between authorization providers.

Sharing between bootstrap and normal context is not yet implemented.

I have no way to test this, so can't say how much it helps.

During startup, prof shows that a significant time is spent inside RSA key generation in the default SessionKeySupplierImpl, both in the constructor and in refreshKeys. This PR adds a new implementation that avoids generating keys until first time of use, and shares the session key between authorization providers.

Sharing between bootstrap and normal context is not yet implemented.

I have no way to test this, so can't say how much it helps.
@yawkat yawkat added the type: improvement A minor improvement to an existing feature label Jul 2, 2024
@yawkat yawkat added this to the 4.2.0 milestone Jul 2, 2024
Copy link

sonarqubecloud bot commented Jul 2, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
16.7% Coverage on New Code (required ≥ 70%)
1 New Bugs (required ≤ 0)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

@graemerocher graemerocher merged commit 695ed6c into 4.2.x Jul 5, 2024
20 of 21 checks passed
@graemerocher graemerocher deleted the lazy-session-key branch July 5, 2024 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: improvement A minor improvement to an existing feature
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants