Skip to content

Commit e1403a2

Browse files
[Backport-2.x][Tiered Caching] Indices Request cache stalekey management (#12625) (#12707)
* [Tiered Caching] Indices Request cache stalekey management (#12625) * Introduce IndicesRequestCacheCleanupManager Signed-off-by: Kiran Prakash <awskiran@amazon.com> * using cleanup mgr to enqueue cleanups Signed-off-by: Kiran Prakash <awskiran@amazon.com> * readability improvements Signed-off-by: Kiran Prakash <awskiran@amazon.com> * update updateCleanupKeyToCountMap on new cache entry Signed-off-by: Kiran Prakash <awskiran@amazon.com> * create IndicesRequestCacheCleanupManager & settings and validators Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Add IRC specific cache cleaner and remove from IndicesService Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Unit Tests Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Update CHANGELOG.md Signed-off-by: Kiran Prakash <awskiran@amazon.com> * move cachecleaner inside mgr Signed-off-by: Kiran Prakash <awskiran@amazon.com> * remove processCleanupKeys Signed-off-by: Kiran Prakash <awskiran@amazon.com> * minor cleanups Signed-off-by: Kiran Prakash <awskiran@amazon.com> * add updateCleanupKeyToCountMapOnCacheEviction Signed-off-by: Kiran Prakash <awskiran@amazon.com> * remove locks and make all methods synchronized Signed-off-by: Kiran Prakash <awskiran@amazon.com> * spotless Signed-off-by: Kiran Prakash <awskiran@amazon.com> * updateCleanupKeyToCountMapOnCacheEviction Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Testing Signed-off-by: Kiran Prakash <awskiran@amazon.com> * add Reschedule back to indices service Signed-off-by: Kiran Prakash <awskiran@amazon.com> * rename updateStaleKeysCount to incrementStaleKeysCount Signed-off-by: Kiran Prakash <awskiran@amazon.com> * rename getStaleKeysCountForTesting to getStaleKeysCount Signed-off-by: Kiran Prakash <awskiran@amazon.com> * rename threshold to stalenessThreshold Signed-off-by: Kiran Prakash <awskiran@amazon.com> * check for cleanupKey.entity == null Signed-off-by: Kiran Prakash <awskiran@amazon.com> * use computeIfPresent with keycountmap Signed-off-by: Kiran Prakash <awskiran@amazon.com> * log both staleKeysInCache & Staleness in debug logs Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Use HashMap instead of ConcurrentMap Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Address b/w compatibility Signed-off-by: Kiran Prakash <awskiran@amazon.com> * remove synchronized for updateCleanupKeyToCountMapOnCacheEviction Signed-off-by: Kiran Prakash <awskiran@amazon.com> * make cleanCache synchronized Signed-off-by: Kiran Prakash <awskiran@amazon.com> * remove shouldRemoveKey Signed-off-by: Kiran Prakash <awskiran@amazon.com> * spotlessApply Signed-off-by: Kiran Prakash <awskiran@amazon.com> --------- Signed-off-by: Kiran Prakash <awskiran@amazon.com> (cherry picked from commit b4da802) * Update CHANGELOG.md Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Update CHANGELOG.md Signed-off-by: Kiran Prakash <awskiran@amazon.com> * Update CHANGELOG.md Signed-off-by: Kiran Prakash <awskiran@amazon.com> --------- Signed-off-by: Kiran Prakash <awskiran@amazon.com>
1 parent 86e17db commit e1403a2

File tree

4 files changed

+800
-65
lines changed

4 files changed

+800
-65
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
2121
- Remote reindex: Add support for configurable retry mechanism ([#12561](https://github.com/opensearch-project/OpenSearch/pull/12561))
2222
- Tracing for deep search path ([#12103](https://github.com/opensearch-project/OpenSearch/pull/12103))
2323
- [Metrics Framework] Adds support for asynchronous gauge metric type. ([#12642](https://github.com/opensearch-project/OpenSearch/issues/12642))
24+
- [Tiered caching] Add Stale keys Management and CacheCleaner to IndicesRequestCache ([#12625](https://github.com/opensearch-project/OpenSearch/pull/12625))
2425
- Make search query counters dynamic to support all query types ([#12601](https://github.com/opensearch-project/OpenSearch/pull/12601))
2526
- [Tiered caching] Add policies controlling which values can enter pluggable caches [EXPERIMENTAL] ([#12542](https://github.com/opensearch-project/OpenSearch/pull/12542))
2627
- [Admission Control] Integrated IO Based AdmissionController to AdmissionControl Framework ([#12583](https://github.com/opensearch-project/OpenSearch/pull/12583))

0 commit comments

Comments
 (0)