From d6448eee3431539bfa9d5b6a53410ba55284f63f Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Fri, 4 Jan 2019 19:21:02 +0300 Subject: [PATCH] Fixed - LRUCacheMap throws ArrayIndexOutOfBoundsException. #1836 --- redisson/src/main/java/org/redisson/cache/LRUCacheMap.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/cache/LRUCacheMap.java b/redisson/src/main/java/org/redisson/cache/LRUCacheMap.java index c8fdc529e..55b3bd007 100644 --- a/redisson/src/main/java/org/redisson/cache/LRUCacheMap.java +++ b/redisson/src/main/java/org/redisson/cache/LRUCacheMap.java @@ -15,13 +15,13 @@ */ package org.redisson.cache; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicLong; /** @@ -36,7 +36,7 @@ public class LRUCacheMap extends AbstractCacheMap { private final AtomicLong index = new AtomicLong(); private final List>> queues = - new ArrayList>>(Runtime.getRuntime().availableProcessors()*2); + new CopyOnWriteArrayList>>(); public LRUCacheMap(int size, long timeToLiveInMillis, long maxIdleInMillis) { super(size, timeToLiveInMillis, maxIdleInMillis);