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

Implement Caching for Permissions and asset lists #2383

Closed
chrisknoll opened this issue Aug 5, 2024 · 0 comments · Fixed by #2393
Closed

Implement Caching for Permissions and asset lists #2383

chrisknoll opened this issue Aug 5, 2024 · 0 comments · Fixed by #2393
Milestone

Comments

@chrisknoll
Copy link
Collaborator

Expected behavior

We should be able to leverage a cache to improve application performance.

Actual behavior

When fetching permissions or asset lists (Cohort Defs, Concept sets, etc), a DB fetch is required which can impact performance.

Steps to reproduce behavior

  1. Access any endpoint that leads to a JPA request.
  2. Observe the database is accessed.

Implementation Notes

We intially had JCache implemented with a ehCache backend but this was removed because the initial implementation was applied to fetching record counts for vocabulary searching, and the search-semantics that we developed using JPA allowed to load ranges of value into the cache and search for a list of numbers from the cache.

However, this caching approach isn't as robust as using a caching framework where you can specify things like expiry, storage tiers, clustering cachings, cache write-through and statistics.

This issue sets the goal to re-introduce JCache, and provide an initial implementation to improve performance by caching results.

@anthonysena anthonysena linked a pull request Oct 8, 2024 that will close this issue
@anthonysena anthonysena added this to the v2.15 milestone Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants