-
Notifications
You must be signed in to change notification settings - Fork 9.2k
HDDS-1802. Add Eviction policy for table cache. #1100
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
Merged
Merged
Changes from 8 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
501c827
HDDS-1802. Add Eviction policy for table cache.
bharatviswa504 7e0aeac
rename AfterFlush
bharatviswa504 53bf346
fixing review comments and loading up cache after restart.
bharatviswa504 a42d2e4
fix unused import.
bharatviswa504 2dd7942
fix bug in code causing test failure.
bharatviswa504 23c3d2c
minor change.
bharatviswa504 afd38e2
javadoc change.
bharatviswa504 8b368e3
fix checkstyle.
bharatviswa504 b20c04b
fix review comments.
bharatviswa504 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
hadoop-hdds/common/src/main/java/org/apache/hadoop/utils/db/cache/CacheResult.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| package org.apache.hadoop.utils.db.cache; | ||
|
|
||
| import java.util.Objects; | ||
|
|
||
| /** | ||
| * CacheResult which is returned as response for Key exist in cache or not. | ||
| * @param <CACHEVALUE> | ||
| */ | ||
| public class CacheResult<CACHEVALUE extends CacheValue> { | ||
|
|
||
| private CacheStatus cacheStatus; | ||
| private CACHEVALUE cachevalue; | ||
|
|
||
| public CacheResult(CacheStatus cacheStatus, CACHEVALUE cachevalue) { | ||
| this.cacheStatus = cacheStatus; | ||
| this.cachevalue = cachevalue; | ||
| } | ||
|
|
||
| public CacheStatus getCacheStatus() { | ||
| return cacheStatus; | ||
| } | ||
|
|
||
| public CACHEVALUE getValue() { | ||
| return cachevalue; | ||
| } | ||
|
|
||
| @Override | ||
| public boolean equals(Object o) { | ||
| if (this == o) { | ||
| return true; | ||
| } | ||
| if (o == null || getClass() != o.getClass()) { | ||
| return false; | ||
| } | ||
| CacheResult< ? > that = (CacheResult< ? >) o; | ||
| return cacheStatus == that.cacheStatus && | ||
| Objects.equals(cachevalue, that.cachevalue); | ||
| } | ||
|
|
||
| @Override | ||
| public int hashCode() { | ||
| return Objects.hash(cacheStatus, cachevalue); | ||
| } | ||
|
|
||
| /** | ||
| * Status which tells whether key exists in cache or not. | ||
| */ | ||
| public enum CacheStatus { | ||
| EXISTS, // When key exists in cache. | ||
|
|
||
| NOT_EXIST, // We guarantee that it does not exist. This will be returned | ||
| // when the key does not exist in cache, when cache clean up policy is | ||
| // NEVER. | ||
| CHECK_IN_TABLE // This will be returned when the key does not exist in | ||
| // cache, when cache clean up policy is MANUAL. So caller need to check | ||
| // if it might exist in it's rocksdb table. | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.