This repository has been archived by the owner on Jul 7, 2020. It is now read-only.
Remove MediatedEvictionConcurrentHashMap. #187
Closed
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.
Use a regular ConcurrentHashMap. release() operations that return the final lease are responsible for eviction to disk. The node remains in the cache with a lease count of -1 this is used as a tombstone
in the cache while the eviction to disk is taking place.
Thanks to an earlier change where nodes must be leased prior to deletion, I don't think there is the possibility of a race condition with node deletion and node eviction. Also note that node state "-3" has been removed in this branch. It is no longer needed.
In the performance tests this branch performance no worse and sometimes slightly better than the MediatedEvictionConcurrentHashMap. Results are https://goo.gl/yk2ztF (internal access only).