Skip to content

Commit

Permalink
Removing TieredCache interface
Browse files Browse the repository at this point in the history
Signed-off-by: Sagar Upadhyaya <sagar.upadhyaya.121@gmail.com>
  • Loading branch information
sgup432 committed Jan 8, 2024
1 parent fdda280 commit 9956abc
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 73 deletions.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
*
* @opensearch.experimental
*/
public class TieredSpilloverCache<K, V> implements TieredCache<K, V>, StoreAwareCacheEventListener<K, V> {
public class TieredSpilloverCache<K, V> implements ICache<K, V>, StoreAwareCacheEventListener<K, V> {

// TODO: Remove optional when diskCache implementation is integrated.
private final Optional<StoreAwareCache<K, V>> onDiskCache;
Expand Down Expand Up @@ -178,46 +178,6 @@ public void refresh() {
}
}

/**
* Provides an iteration over keys based on desired on cacheStoreType. This is not protected from any mutations
* to the cache.
* @param type Type of cacheStoreType
* @return An iterable over desired CacheStoreType keys
*/
@Override
public Iterable<K> cacheKeys(CacheStoreType type) {
switch (type) {
case ON_HEAP:
return onHeapCache.keys();
case DISK:
if (onDiskCache.isPresent()) {
return onDiskCache.get().keys();
} else {
return Collections::emptyIterator;
}
default:
throw new IllegalArgumentException("Unsupported Cache store type: " + type);
}
}

@Override
public void refresh(CacheStoreType type) {
switch (type) {
case ON_HEAP:
try (ReleasableLock ignore = writeLock.acquire()) {
onHeapCache.refresh();
}
break;
case DISK:
try (ReleasableLock ignore = writeLock.acquire()) {
onDiskCache.ifPresent(ICache::refresh);
}
break;
default:
throw new IllegalArgumentException("Unsupported Cache store type: " + type);
}
}

@Override
public void onMiss(K key, CacheStoreType cacheStoreType) {
// Misses for tiered cache are tracked here itself.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ public void testComputeIfAbsentWithEvictionsFromOnHeapCache() throws Exception {
);
assertEquals(actualDiskCacheSize, eventListener.enumMap.get(CacheStoreType.DISK).cachedCount.count());

tieredSpilloverCache.cacheKeys(CacheStoreType.ON_HEAP).forEach(onHeapKeys::add);
tieredSpilloverCache.cacheKeys(CacheStoreType.DISK).forEach(diskTierKeys::add);
tieredSpilloverCache.getOnHeapCache().keys().forEach(onHeapKeys::add);
tieredSpilloverCache.getOnDiskCache().get().keys().forEach(diskTierKeys::add);

assertEquals(tieredSpilloverCache.getOnHeapCache().count(), onHeapKeys.size());
assertEquals(tieredSpilloverCache.getOnDiskCache().get().count(), diskTierKeys.size());
Expand Down Expand Up @@ -312,7 +312,7 @@ public String load(String key) {

// Verify that new items are part of onHeap cache.
List<String> actualOnHeapCacheKeys = new ArrayList<>();
tieredSpilloverCache.cacheKeys(CacheStoreType.ON_HEAP).forEach(actualOnHeapCacheKeys::add);
tieredSpilloverCache.getOnHeapCache().keys().forEach(actualOnHeapCacheKeys::add);

assertEquals(newKeyList.size(), actualOnHeapCacheKeys.size());
for (int i = 0; i < actualOnHeapCacheKeys.size(); i++) {
Expand Down Expand Up @@ -387,8 +387,8 @@ public void testCacheKeys() throws Exception {

List<String> actualOnHeapKeys = new ArrayList<>();
List<String> actualOnDiskKeys = new ArrayList<>();
Iterable<String> onHeapiterable = tieredSpilloverCache.cacheKeys(CacheStoreType.ON_HEAP);
Iterable<String> onDiskiterable = tieredSpilloverCache.cacheKeys(CacheStoreType.DISK);
Iterable<String> onHeapiterable = tieredSpilloverCache.getOnHeapCache().keys();
Iterable<String> onDiskiterable = tieredSpilloverCache.getOnDiskCache().get().keys();
onHeapiterable.iterator().forEachRemaining(actualOnHeapKeys::add);
onDiskiterable.iterator().forEachRemaining(actualOnDiskKeys::add);
for (String onHeapKey : onHeapKeys) {
Expand Down Expand Up @@ -424,8 +424,6 @@ public void testRefresh() {
eventListener,
0
);
tieredSpilloverCache.refresh(CacheStoreType.ON_HEAP);
tieredSpilloverCache.refresh(CacheStoreType.DISK);
tieredSpilloverCache.refresh();
}

Expand Down

0 comments on commit 9956abc

Please sign in to comment.