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

[Tiered Caching] [Bug Fix] Use concurrentMap instead of HashMap to fix Concurrent Modification Exception #14221

Merged
merged 20 commits into from
Jun 13, 2024

Conversation

kiranprakash154
Copy link
Contributor

@kiranprakash154 kiranprakash154 commented Jun 12, 2024

Description

#14032 reported msearches failing with a Concurrent Modification Exception, though they were not able to repro it consistently they were able to attach a debugger and find out the line throwing the exception, which was

cleanupKeyToCountMap.computeIfAbsent(shardId, k -> new HashMap<>()).merge(cleanupKey.readerCacheKeyId, 1, Integer::sum);

We are using a HashMap (not thread safe) for the inner map of the cleanupKeyToCountMap and hence it throws a Concurrent Modification Exception when the map is getting updated by multiple threads concurrently.

The fix is to use a thread safe Concurrent Map instead.

Related Issues

Resolves #14032

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Copy link
Contributor

❌ Gradle check result for 5a4484d: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

@kiranprakash154 kiranprakash154 changed the title use concurrentmap [Tiered Caching] [Bug Fix] Use concurrentMap instead of HashMap to fix Concurrent Modification Exception Jun 12, 2024
@github-actions github-actions bot added bug Something isn't working Search Search query, autocomplete ...etc v2.15.0 Issues and PRs related to version 2.15.0 labels Jun 12, 2024
@kiranprakash154 kiranprakash154 self-assigned this Jun 12, 2024
@kiranprakash154 kiranprakash154 added Search:Performance backport 2.x Backport to 2.x branch and removed skip-changelog Search Search query, autocomplete ...etc labels Jun 12, 2024
@kiranprakash154 kiranprakash154 marked this pull request as ready for review June 12, 2024 17:58
Copy link
Member

@andrross andrross left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving as we can follow up on my comments later if there's a rush to merge this. Letting @sohami have a final look.

Copy link
Collaborator

@sohami sohami left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kiranprakash154 Discussed with @andrross. Merging the change for 2.15, but we will need follow-up to address the comments here

@kiranprakash154
Copy link
Contributor Author

@kiranprakash154 Discussed with @andrross. Merging the change for 2.15, but we will need follow-up to address the comments here

Yep, I'd love that. Thanks for helping this get through

@sohami sohami merged commit ccf5289 into opensearch-project:main Jun 13, 2024
34 of 44 checks passed
opensearch-trigger-bot bot pushed a commit that referenced this pull request Jun 13, 2024
…x Concurrent Modification Exception (#14221)

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the test removal

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the conflict resolutions

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

---------

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
(cherry picked from commit ccf5289)
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
opensearch-trigger-bot bot pushed a commit that referenced this pull request Jun 13, 2024
…x Concurrent Modification Exception (#14221)

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the test removal

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the conflict resolutions

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

---------

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
(cherry picked from commit ccf5289)
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
peterzhuamazon added a commit that referenced this pull request Jun 13, 2024
…x Concurrent Modification Exception (#14221) (#14254)

* use concurrentmap



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* Update CHANGELOG.md



* Update IndicesRequestCache.java



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* revert feature flags



* changelog to releaselog



* use concurrentmap



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* Update CHANGELOG.md



* Update IndicesRequestCache.java



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* revert feature flags



* changelog to releaselog



* revert the test removal



* revert the conflict resolutions



---------


(cherry picked from commit ccf5289)

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: Peter Zhu <zhujiaxi@amazon.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Peter Zhu <zhujiaxi@amazon.com>
sohami pushed a commit that referenced this pull request Jun 13, 2024
…x Concurrent Modification Exception (#14221) (#14253)

* use concurrentmap



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* Update CHANGELOG.md



* Update IndicesRequestCache.java



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* revert feature flags



* changelog to releaselog



* use concurrentmap



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* Update CHANGELOG.md



* Update IndicesRequestCache.java



* Update IndicesRequestCacheTests.java



* Update IndicesRequestCacheTests.java



* revert feature flags



* changelog to releaselog



* revert the test removal



* revert the conflict resolutions



---------


(cherry picked from commit ccf5289)

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@kiranprakash154 kiranprakash154 deleted the kp/repro-tc-bug branch June 17, 2024 17:50
harshavamsi pushed a commit to harshavamsi/OpenSearch that referenced this pull request Jul 12, 2024
…x Concurrent Modification Exception (opensearch-project#14221)

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the test removal

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the conflict resolutions

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

---------

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
kkewwei pushed a commit to kkewwei/OpenSearch that referenced this pull request Jul 24, 2024
…x Concurrent Modification Exception (opensearch-project#14221) (opensearch-project#14253)

* use concurrentmap

* Update IndicesRequestCacheTests.java

* Update IndicesRequestCacheTests.java

* Update CHANGELOG.md

* Update IndicesRequestCache.java

* Update IndicesRequestCacheTests.java

* Update IndicesRequestCacheTests.java

* revert feature flags

* changelog to releaselog

* use concurrentmap

* Update IndicesRequestCacheTests.java

* Update IndicesRequestCacheTests.java

* Update CHANGELOG.md

* Update IndicesRequestCache.java

* Update IndicesRequestCacheTests.java

* Update IndicesRequestCacheTests.java

* revert feature flags

* changelog to releaselog

* revert the test removal

* revert the conflict resolutions

---------

(cherry picked from commit ccf5289)

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Signed-off-by: kkewwei <kkewwei@163.com>
wdongyu pushed a commit to wdongyu/OpenSearch that referenced this pull request Aug 22, 2024
…x Concurrent Modification Exception (opensearch-project#14221)

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the test removal

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the conflict resolutions

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

---------

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
peteralfonsi pushed a commit to peteralfonsi/OpenSearch that referenced this pull request Sep 3, 2024
…x Concurrent Modification Exception (opensearch-project#14221)

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* use concurrentmap

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update CHANGELOG.md

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCache.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* Update IndicesRequestCacheTests.java

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert feature flags

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* changelog to releaselog

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the test removal

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

* revert the conflict resolutions

Signed-off-by: Kiran Prakash <awskiran@amazon.com>

---------

Signed-off-by: Kiran Prakash <awskiran@amazon.com>
peteralfonsi pushed a commit to peteralfonsi/OpenSearch that referenced this pull request Sep 4, 2024
commit 93a3132
Author: Peter Alfonsi <petealft@amazon.com>
Date:   Wed Sep 4 11:44:03 2024 -0700

    fix broken ITs

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

commit fd92c5a
Author: Marc Handalian <handalm@amazon.com>
Date:   Thu Jan 11 06:41:55 2024 -0800

    Update runTask to optionally install plugins (opensearch-project#11844)

    Signed-off-by: Marc Handalian <marc.handalian@gmail.com>

commit 4d78661
Author: Peter Alfonsi <petealft@amazon.com>
Date:   Tue Sep 3 16:02:31 2024 -0700

    Misc test fixes

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

commit 70a6935
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Fri Aug 23 10:42:05 2024 -0700

    [Bugfix] Fixes IRC NPE bug for timed-out cacheable queries (opensearch-project#15327)

    * Fix IRC timeout bug

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * addressed Sagar's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * addressed Ankit's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Add UT for test coverage

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * tweak imports in new UT

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit f9943f8
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Wed Jul 17 19:02:05 2024 -0700

    Clear ehcache disk cache files during initialization (opensearch-project#14738)

    * Clear ehcache disk cache files during initialization

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding UT to fix line coverage

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing comment

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding more Uts for better line coverage

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Throwing exception in case we fail to clear cache files during startup

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding more UTs

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding a UT for more coverage

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fixing gradle build

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Update ehcache disk cache close() logic

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit fc2007e
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Mon Jul 1 15:54:39 2024 -0700

    [Bugfix] Fix ICacheKeySerializerTests flakiness (opensearch-project#14564)

    * Fix testInvalidInput flakiness

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Addressed andrross's comment

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun security check

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 1ef62e2
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Wed Jun 26 11:14:42 2024 -0700

    Fix flaky test TieredSpilloverCacheTests.testComputeIfAbsentConcurrently (opensearch-project#14550)

    * Fix flaky test TieredSpilloverCacheTests.testComputeIfAbsentConcurrently

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing comment

    Signed-off-by: Sagar Upadhyaya <upasagar@amazon.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar Upadhyaya <upasagar@amazon.com>
    Co-authored-by: Sagar Upadhyaya <upasagar@amazon.com>

commit 29ec9d6
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Tue Jun 25 12:04:17 2024 -0700

    [Tiered Caching]  Moving query recomputation logic outside of write lock (opensearch-project#14187)

    * Moving query recompute out of write lock

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * [Tiered Caching] Moving query recomputation logic outside of write lock

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding java doc for the completable map

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Changes to call future handler only once per key

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fixing spotless check

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Added changelog

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing comments

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fixing gradle fail

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing comments to refactor unit test

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * minor UT refactor

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>
    Co-authored-by: Sagar Upadhyaya <upasagar@amazon.com>

commit 8347779
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Tue Jun 25 13:26:54 2024 -0700

    Fix flaky DefaultCacheStatsHolderTests (opensearch-project#14462)

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 40f868d
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Thu Jun 20 14:17:23 2024 -0700

    Update IndicesRequestCacheCleanupIT.java (opensearch-project#14478)

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit 094a9f2
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Wed Jun 19 15:36:59 2024 -0700

    Fix Indices Request Cache ITs from flaking and timing out (opensearch-project#14369)

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit 3a110a8
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Tue Jun 18 10:18:25 2024 -0700

    [Tiered Cache] Use ConcurrentHashMap explicitly in IndicesRequestCache (opensearch-project#14409)

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit bcf0f59
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Fri Jun 14 13:20:51 2024 -0700

    [Bugfix] Fix TieredSpilloverCache flaky tests (opensearch-project#14333)

    * Fix flaky TSC stats tests

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Addressed andrross's comment

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * fix forbidden API

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit a222a03
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Wed Jun 12 18:30:06 2024 -0700

    [Tiered Caching] [Bug Fix] Use concurrentMap instead of HashMap to fix Concurrent Modification Exception (opensearch-project#14221)

    * use concurrentmap

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update CHANGELOG.md

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert feature flags

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * changelog to releaselog

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * use concurrentmap

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update CHANGELOG.md

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert feature flags

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * changelog to releaselog

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert the test removal

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert the conflict resolutions

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    ---------

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit f85cd00
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Wed Jun 12 08:22:38 2024 -0700

    Fix ShardNotFoundException during request cache clean up (opensearch-project#14219)

    * Fix for ShardNotFoundException during request cache clean up

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Added changelog

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fix forbidden gradle check

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit 406ae78
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Thu Jun 6 15:02:00 2024 -0700

    [Caching] Move cache removal notifications outside lru lock (opensearch-project#14017)

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit c5fd7fe
Author: Peter Alfonsi <petealft@amazon.com>
Date:   Tue Sep 3 14:38:26 2024 -0700

    Change IRC UT to correctly create shard

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

commit 9c4d4af
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Tue Jun 4 16:09:18 2024 -0700

    [Tiered Caching] Additional ITs for cache stats  (opensearch-project#13655)

    * Adds cache clear IT

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Cleaned up logic for cache stats ITs

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Adds more tests around tiered spillover cache

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Fixed cache stats behavior for overall /_nodes/stats call

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    cleanup

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Fixed folder structure

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Addressed Sagar's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Addressed Ankit's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Break horrifyingly long test case into many shorter cases

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Added unsupported operation exception to TSC stats holder incrementEvictions()

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    Addressed Sorabh's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun assemble

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit be97e90
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Thu May 23 12:02:22 2024 -0700

    [Bugfix] [Tiered Caching] Fixes issues when integrating tiered cache with disk cache (opensearch-project#13784)

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 60ee715
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Mon May 20 12:52:03 2024 -0700

    Update IndicesRequestCacheIT.java (opensearch-project#13678)

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit 51f6c1b
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Wed May 8 09:15:36 2024 -0700

    Fix IndicesRequestCache clean up logic (opensearch-project#13597)

    Signed-off-by: Sagar Upadhyaya <upasagar@amazon.com>
    Co-authored-by: Sagar Upadhyaya <upasagar@amazon.com>

commit 49e2701
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Mon May 6 17:25:45 2024 -0700

    Fix negative requestStats memory_size issue (opensearch-project#13553)

    This solves the bug where RequestStats memory_size metric was going negative in certain scenarios
    as reported in the issue. It turns out that the issue occurs when an indexShard is deleted and then
    reallocated on the same node. So whenever stale entries from older shard are deleted, those are
    accounted for the new shard which has the same shardId.

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit a5c5675
Author: Peter Alfonsi <peter.alfonsi@gmail.com>
Date:   Thu May 2 17:29:07 2024 -0700

    [Tiered Caching] Adds stats implementation for TieredSpilloverCache (opensearch-project#13236)

    Stats rework part 4 of 4
    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 46944cb
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Tue Apr 30 10:59:03 2024 -0700

    Fix flaky test CacheStatsAPIIndicesRequestCacheIT.testNullLevels() (opensearch-project#13457)

    * Fix flaky test

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Initialize CommonStatsFlags with empty array for levels

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Fixes tests using incorrect null levels

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 71fcad4
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Mon Apr 29 18:41:33 2024 -0700

    Fix Flaky test IndicesRequestCacheIT.testStaleKeysCleanupWithMultipleIndices (opensearch-project#13453)

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    ---------

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit f60339f
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Mon Apr 29 22:37:05 2024 -0700

    [Tiered Caching] Bump versions for serialization in new cache stats API (opensearch-project#13460)

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 88718a2
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Mon Apr 29 14:47:52 2024 -0700

    [Tiered Caching] Expose new cache stats API (opensearch-project#13237)

    Step 3 out of 4

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 5e97082
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Sun Apr 28 08:15:18 2024 -0700

    [Tiered Caching] Gate CacheStatsHolder logic behind FeatureFlags.PLUGGABLE_CACHE setting (opensearch-project#13238)

    Stats rework step 2 of 4

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit ed881f7
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Fri Apr 26 11:52:31 2024 -0700

    [Tiered Caching] Make Indices Request Cache Stale Key Mgmt Threshold setting dynamic (opensearch-project#12941)

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update ClusterSettings.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * spotless

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * some refactoring

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address existing tests

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * UTs

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update CHANGELOG.md

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * ITs

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * spotless

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * refactor

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    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>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * resolve conflicts

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address code comments

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address code comments

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * rename tests

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * resolve conflicts

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * code comments

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheIT.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    ---------

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit 424ccc9
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Thu Apr 25 22:09:42 2024 -0700

    [Tiered Caching] Expose a dynamic setting to disable/enable disk cache (opensearch-project#13373)

    * [Tiered Caching] Expose a dynamic setting to disable/enable disk cache

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Putting tiered cache settings behind feature flag

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding a changelog

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing Sorabh's comments

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Putting new setting behind feature flag

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>

commit acbbb2f
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Wed Apr 24 14:50:39 2024 -0700

    [Tiered Caching] Bug fix for IndicesRequestCache StaleKey management (opensearch-project#13070)

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update CHANGELOG.md

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * code comments only

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * docs changes

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update CHANGELOG.md

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * revert catching AlreadyClosedException

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * assert

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * conflicts

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCacheTests.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address comments

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * Update IndicesRequestCache.java

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address conflicts

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * spotless apply

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address comments

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * update code comments

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    * address bug & add tests

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

    ---------

    Signed-off-by: Kiran Prakash <awskiran@amazon.com>

commit f1d2e72
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Mon Apr 15 10:43:22 2024 -0800

    [Tiered Caching] Ehcache Disk cache IT  (opensearch-project#12904)

    * Ehcache IT tests

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding some logs to print key/value size

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Add ehcache related invalidation IT

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Remvoing unnecessary IndicesRequestCache IT

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Indentation fix

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Added tests around expiration time and invalidation

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit b0de406
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Fri Apr 12 16:09:06 2024 -0700

    [Tiered Caching] Stats rework (1/3): Interfaces and implementations for individual tiers (opensearch-project#12531)

    As part of tiered caching stats, changes the common ICache interface to use ICacheKey as its key. This key contains
    dimensions (for example, shard ID, index name, or tier) that can be used to aggregate stats. Also changes the
    CacheStats interface to store the necessary cache stats, and to support getting stats either as a total or aggregated by
    these dimensions.

    Integrates these changes with OpenSearchOnHeapCache and EhcacheDiskCache. The stats implementation for the
    TieredSpilloverCache will be in a followup PR.

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 40a8d34
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Thu Apr 11 14:49:03 2024 -0800

    [Tiered Caching] Make took time policy dynamic and add additional integ tests (opensearch-project#13063)

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>

commit 6f88777
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Tue Mar 19 19:41:59 2024 -0700

    Fixing ehcache flaky test (opensearch-project#12764)

    * Fixing ehcache flaky test

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding a ehcache issue reference for thread leak issue

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Updating comment

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit f69c089
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Mon Mar 18 22:20:52 2024 -0700

    [Tiered Caching] Clear up disk cache(ehcache) files during node shutdown (opensearch-project#12734)

    * Adding logic to clear up the disk cache files during close()
    * Adding logic to update entries count after invalidateAll()
    * Removing unneeded system log statement
    * Added comment in test for readability
    * Fixing issue where we were sending compacted byte[] array to ehcache but calculating size with padded byte[]

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>

commit bf6488d
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Mon Mar 18 22:17:14 2024 -0700

    [Tiered Caching] Fix test testComputeIfAbsentWithFactoryBasedCacheCreation (opensearch-project#12700)

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit 0fc1f40
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Mon Mar 18 13:39:35 2024 -0700

    [Tiered Caching] Serializers for ehcache (opensearch-project#12709)

    Adds serializers and integrates them into ehcache disk cache

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit a45be0f
Author: Kiran Prakash <awskiran@amazon.com>
Date:   Sat Mar 16 17:12:27 2024 -0700

    [Tiered Caching] Indices Request cache stalekey management (opensearch-project#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>

commit bad412c
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Fri Mar 15 16:53:54 2024 -0700

    [Tiered caching] Supporting removal function on EhcacheDiskCache iterator (opensearch-project#12653)

    * [Tiered caching] Supporting removal function on EhcacheDiskCache iterator

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Minor refactoring in unit test

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit 15c4afa
Author: peteralfonsi <peter.alfonsi@gmail.com>
Date:   Fri Mar 15 15:36:22 2024 -0700

    [Tiered Caching] Cache tier policies (opensearch-project#12542)

    * Adds policy interface and took time policy impl

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Changes IndicesService to write a CachePolicyInfoWrapper before the QSR

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Moved took time logic from QSR to IndicesService

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * spotlessApply

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Addressed ansjcy's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Partial rebase on most recent changes

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Integrated policies with new TSC changes

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Reverted unintended change to idea/vcs.xml

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * javadocs

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * github actions

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Set default threshold value to 10 ms

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Addressed Sorabh's comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Addressed Sorabh's second round of comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Set cachedQueryParser in IRC

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Addressed Sorabh's comments besides dynamic setting

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Removed dynamic setting, misc comments

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Added changelog entry

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Added missing javadoc

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Fixed failed gradle run

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * Added setting validation test

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * rerun gradle for flaky IT

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    * javadocs

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

    ---------

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>
    Co-authored-by: Peter Alfonsi <petealft@amazon.com>

commit 45fce15
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Thu Mar 14 13:00:24 2024 -0700

    [Tiered Caching] Fixing flaky tiered cache test (opensearch-project#12650)

    * Fixing flaky tiered cache test

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Removing unnecessary comment

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Removing unused variable

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

commit bb66699
Author: Peter Alfonsi <petealft@amazon.com>
Date:   Fri Aug 30 11:36:05 2024 -0700

    Attempt to fix broken ITs

    Signed-off-by: Peter Alfonsi <petealft@amazon.com>

commit 58170bf
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Mon Mar 11 14:12:55 2024 -0700

    [Tiered caching] Integrating IndicesRequestCache with CacheService controlled by a feature flag (opensearch-project#12533)

    * Adding changelog
    * Fixing gradle build issue
    * Fixing CacheService test
    * Adding UT in IndicesRequestCache with feature flag for more coverage
    * Updating changelog and renaming feature flag setting
    * Moving feature flag setting handling logic to CacheService by maintaining backward compatibility
    * Fixing broken UTs

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>

commit 80d2130
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Fri Mar 1 11:10:28 2024 -0800

    [Tiered caching] Introducing cache plugins and exposing Ehcache as one of the pluggable disk cache option (opensearch-project#11874)

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>

commit f372c2c
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Wed Jan 10 17:06:29 2024 -0800

    [Tiered Caching] Enable serialization of IndicesRequestCache.Key (opensearch-project#10275)

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>
    Co-authored-by: Kiran Prakash <awskiran@amazon.com>

commit b880c0b
Author: Sagar <99425694+sgup432@users.noreply.github.com>
Date:   Tue Jan 9 10:57:52 2024 -0800

    [Tiered caching] Framework changes (opensearch-project#10753)

    * [Tiered caching] Framework changes

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Added javadoc for new files/packages

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Added changelog

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fixing javadoc warnings

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing comments

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Addressing additional minor comments

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Moving non null check to builder for OS onHeapCache

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding package-info for new packages

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Removing service and adding different cache interfaces along with event listener support

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fixing gradle missingDoc issue

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Changing listener logic, removing tiered cache integration with IRC

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding opensearch.internal tag for LoadAwareCacheLoader

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Fixing thread safety issue

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Remove compute function and event listener logic change for TieredCache

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Making Cache.compute function private

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding javadoc and more test for cache.put

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Adding write locks to refresh API as well

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Removing unwanted EventType class and refactoring one UT

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    * Removing TieredCache interface

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>

    ---------

    Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
    Signed-off-by: Sagar <99425694+sgup432@users.noreply.github.com>

Signed-off-by: Peter Alfonsi <petealft@amazon.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch backport 2.15 bug Something isn't working Search:Performance Search Search query, autocomplete ...etc skip-changelog v2.15.0 Issues and PRs related to version 2.15.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] sporadic concurrent_modification_exception during query in 2.14
4 participants