Skip to content
Snippets Groups Projects
Commit f35758fa authored by Alok Joshi's avatar Alok Joshi
Browse files

update the cache list instead of dropping it

parent 18760615
No related branches found
No related tags found
3 merge requests!33Fix list cache,!32Fix list cache,!31fix list api cache not updating upon creation and deletion
Pipeline #20999 failed
......@@ -50,7 +50,7 @@ public class CachedPartitionServiceImpl implements IPartitionService {
if (pi != null) {
partitionServiceCache.put(partitionId, partitionInfo);
partitionListCache.clearAll();
partitionListCache.get(PARTITION_LIST_KEY).add(partitionId);
}
return pi;
......@@ -87,7 +87,7 @@ public class CachedPartitionServiceImpl implements IPartitionService {
if (partitionService.deletePartition(partitionId)) {
if (partitionServiceCache.get(partitionId) != null) {
partitionServiceCache.delete(partitionId);
partitionListCache.clearAll();
partitionListCache.get(PARTITION_LIST_KEY).remove(partitionId);
}
return true;
......
......@@ -44,20 +44,25 @@ public class CachedPartitionServiceImplTest {
@InjectMocks
private CachedPartitionServiceImpl cachedPartitionServiceImpl;
private static final String PARTITION_LIST_KEY = "getAllPartitions";
@Test
public void createPartitionSucceed() {
String partId = "key";
List<String> partitions = new ArrayList<>();
PartitionInfo newPi = PartitionInfo.builder().build();
PartitionInfo retPi = PartitionInfo.builder().build();
when(partitionServiceImpl.createPartition(partId, newPi)).thenReturn(retPi);
when(partitionListCache.get(PARTITION_LIST_KEY)).thenReturn(partitions);
cachedPartitionServiceImpl.createPartition(partId, newPi);
verify(partitionServiceImpl, times(1)).createPartition(partId, newPi);
verify(partitionServiceCache, times(1)).put(partId, retPi);
verify(partitionListCache, times(1)).clearAll();
verify(partitionListCache, times(1)).get(PARTITION_LIST_KEY);
}
@Test
......@@ -72,7 +77,7 @@ public class CachedPartitionServiceImplTest {
verify(partitionServiceImpl, times(1)).createPartition(partId, newPi);
verify(partitionServiceCache, times(0)).put(any(), any());
verify(partitionListCache, times(0)).clearAll();
verify(partitionListCache, times(0)).get(PARTITION_LIST_KEY);
verify(partitionServiceCache, times(1)).get(any());
}
......@@ -125,15 +130,18 @@ public class CachedPartitionServiceImplTest {
String partId = "key";
PartitionInfo retPi = PartitionInfo.builder().build();
List<String> partitions = new ArrayList<>();
when(partitionServiceImpl.deletePartition(partId)).thenReturn(true);
when(partitionServiceCache.get(partId)).thenReturn(retPi);
when(partitionListCache.get(PARTITION_LIST_KEY)).thenReturn(partitions);
cachedPartitionServiceImpl.deletePartition(partId);
verify(partitionServiceImpl, times(1)).deletePartition(partId);
verify(partitionServiceCache, times(1)).delete(partId);
verify(partitionServiceCache, times(1)).get(partId);
verify(partitionListCache, times(1)).clearAll();
verify(partitionListCache, times(1)).get(PARTITION_LIST_KEY);
}
@Test
......@@ -142,10 +150,9 @@ public class CachedPartitionServiceImplTest {
when(partitionServiceImpl.getAllPartitions()).thenReturn(partitions);
cachedPartitionServiceImpl.getAllPartitions();
String partKey = "getAllPartitions";
verify(partitionListCache, times(1)).get(partKey);
verify(partitionListCache, times(1)).get(PARTITION_LIST_KEY);
verify(partitionServiceImpl, times(1)).getAllPartitions();
verify(partitionListCache, times(1)).put(partKey, partitions);
verify(partitionListCache, times(1)).put(PARTITION_LIST_KEY, partitions);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment