#2677 - Change trimOnPut to be 10% of max or 1_000.

Can look to provide an explicit option via `@CacheBeanTuning` later.
This commit is contained in:
Rob Bygrave
2022-05-02 22:19:37 +12:00
parent 5c332286b6
commit 2cf83278ea
3 changed files with 37 additions and 14 deletions
@@ -6,8 +6,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class DefaultServerCacheConfigTest {
class DefaultServerCacheConfigTest {
private DefaultServerCacheConfig create(int maxSize, int maxIdleSecs, int maxSecsToLive, int trimFreq) {
ServerCacheOptions options = new ServerCacheOptions();
@@ -20,33 +19,45 @@ public class DefaultServerCacheConfigTest {
}
@Test
public void trimFreq_halfIdle() {
void trimFreq_halfIdle() {
assertEquals(create(10000,10,20, 0).determineTrimFrequency(), 4);
}
@Test
public void trimFreq_halfIdle_withRounding() {
void trimFreq_halfIdle_withRounding() {
assertEquals(create(10000,11,20, 0).determineTrimFrequency(), 4);
}
@Test
public void trimFreq_halfTTL() {
void trimFreq_halfTTL() {
assertEquals(create(10000,0,20, 0).determineTrimFrequency(), 9);
}
@Test
public void trimFreq_halfTTL_withRounding() {
void trimFreq_halfTTL_withRounding() {
assertEquals(create(10000,0,21, 0).determineTrimFrequency(), 9);
}
@Test
public void trimFreq_explicit() {
void trimFreq_explicit() {
assertEquals(create(10000,10,20, 42).determineTrimFrequency(), 42);
}
@Test
void trimOnPut_default() {
assertEquals(create(0,0,0, 0).determineTrimOnPut(), 1_000);
}
@Test
void trimOnPut_tenPercent() {
assertEquals(create(10_000,0,0, 0).determineTrimOnPut(), 1_000);
assertEquals(create(9_000,0,0, 0).determineTrimOnPut(), 900);
assertEquals(create(100,0,0, 0).determineTrimOnPut(), 10);
}
@Test
void trimOnPut_roundDown() {
assertEquals(create(9010,0,0, 0).determineTrimOnPut(), 901);
assertEquals(create(9009,0,0, 0).determineTrimOnPut(), 900);
}
}