You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2015/07/09 14:02:01 UTC
svn commit: r1690072 - in /jackrabbit/oak/branches/1.0/oak-core/src:
main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java
test/java/org/apache/jackrabbit/oak/cache/CacheTest.java
Author: thomasm
Date: Thu Jul 9 12:02:00 2015
New Revision: 1690072
URL: http://svn.apache.org/r1690072
Log:
OAK-3089 LIRS cache: zero size cache causes IllegalArgumentException
Modified:
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java
Modified: jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java?rev=1690072&r1=1690071&r2=1690072&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/cache/CacheLIRS.java Thu Jul 9 12:02:00 2015
@@ -409,8 +409,8 @@ public class CacheLIRS<K, V> implements
* @param maxMemory the maximum size (1 or larger)
*/
public void setMaxMemory(long maxMemory) {
- if (maxMemory <= 0) {
- throw new IllegalArgumentException("Max memory must be larger than 0");
+ if (maxMemory < 0) {
+ throw new IllegalArgumentException("Max memory must not be negative");
}
this.maxMemory = maxMemory;
if (segments != null) {
Modified: jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java?rev=1690072&r1=1690071&r2=1690072&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java (original)
+++ jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/cache/CacheTest.java Thu Jul 9 12:02:00 2015
@@ -90,7 +90,7 @@ public class CacheTest {
// expected
}
try {
- test.setMaxMemory(0);
+ test.setMaxMemory(-1);
fail();
} catch (IllegalArgumentException e) {
// expected
@@ -629,6 +629,15 @@ public class CacheTest {
}
@Test
+ public void testZeroSizeCache() {
+ CacheLIRS<Integer, String> cache = createCache(0, 100);
+ cache.put(1, "Hello", 100);
+ cache.put(2, "World", 100);
+ cache.put(3, "!", 100);
+ assertFalse(cache.containsKey(1));
+ }
+
+ @Test
public void testRefresh() throws ExecutionException {
CacheLIRS<Integer, String> cache = new CacheLIRS.Builder().
maximumWeight(100).