[To rel/0.12] [IOTDB-1415] Fix OOM caused by ChunkCache #3312
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The detailed description could be seen in JIRA
Analysis
The details could be found in Confluence
Solution
Use Caffeine Cache to replace the previous LinkedHashMap.
Caffeine is a high performance Java caching library providing a near optimal hit rate. Caffeine provides an in-memory cache using a Google Guava inspired API. The improvements draw on their experience designing Guava's cache and ConcurrentLinkedHashMap.
The Tests in their website shows that it's much more better than Guava Cache.
In our own weekly test, Caffeine Cache's performance is same as the previous wrong implementation of master.