-
Notifications
You must be signed in to change notification settings - Fork 94
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
CMR-9498 Changed metadata cache from in-memory search only to redis where bootstrap loads the data in non dev environments #1993
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1993 +/- ##
==========================================
- Coverage 55.26% 55.08% -0.18%
==========================================
Files 992 995 +3
Lines 63036 63255 +219
Branches 1561 1566 +5
==========================================
+ Hits 34836 34847 +11
- Misses 26643 26846 +203
- Partials 1557 1562 +5
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Has changing this cache to use redis been evaluated for performance? In production, we only use a single node redis cluster, will this need to be expanded(how large will the cache be and how often does it get accessed)?
bootstrap-app/src/cmr/bootstrap/data/metadata_retrieval/collection_metadata_cache.clj
Outdated
Show resolved
Hide resolved
bootstrap-app/src/cmr/bootstrap/data/metadata_retrieval/metadata_transformer.clj
Outdated
Show resolved
Hide resolved
bootstrap-app/src/cmr/bootstrap/data/metadata_retrieval/metadata_transformer.clj
Outdated
Show resolved
Hide resolved
common-app-lib/src/cmr/common_app/data/metadata_retrieval/collection_metadata_cache.clj
Outdated
Show resolved
Hide resolved
common-app-lib/src/cmr/common_app/data/metadata_retrieval/collection_metadata_cache.clj
Outdated
Show resolved
Hide resolved
search-app/src/cmr/search/data/metadata_retrieval/metadata_cache.clj
Outdated
Show resolved
Hide resolved
bootstrap-app/src/cmr/bootstrap/data/metadata_retrieval/collection_metadata_cache.clj
Outdated
Show resolved
Hide resolved
bootstrap-app/src/cmr/bootstrap/data/metadata_retrieval/collection_metadata_cache.clj
Show resolved
Hide resolved
bootstrap-app/src/cmr/bootstrap/data/metadata_retrieval/metadata_transformer.clj
Outdated
Show resolved
Hide resolved
No, we have not done performance tests with changing this cache from memory to redis. In production we have increased the redis nodes from 1 primary to 3; 1 primary and 2 replicas. This cache is used to satisfy collection umm_json search requests - all other concept types still go to the database - that code hasn't changed. I have read that we should get micro-second performance out of redis, but I haven't tested it to see if that is true. |
…here bootstrap loads the data in non dev environments (#1993) * CMR-9498 Moving the collection metadata cache from in memory to redis. * CMR-9498 fixing test errors. * CMR-9498 fixing some issues between the older caches vs the new hash cache. * CMR-9498 adding back in coded needed for integration tests. * CMR-9498-1 Fixing system integration test * CMR-9498 Fixing left debug statements * CMR-9498 fixing tests. * CMR-9498 Fixing integration tests. * CMR-9498 Fixing PR suggestions. * CMR-9498 updating code to satisfy PR requests.
and search will load the data for development environments using in memory database. I pushed a lot of code to common so that both bootstrap and search can use the same functions when possible.