You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2011/03/09 16:12:16 UTC

svn commit: r1079827 - /lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestFastLRUCache.java

Author: yonik
Date: Wed Mar  9 15:12:16 2011
New Revision: 1079827

URL: http://svn.apache.org/viewvc?rev=1079827&view=rev
Log:
SOLR-2410: add test that normally hits phase3 cleaning w/ PQ

Modified:
    lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestFastLRUCache.java

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestFastLRUCache.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestFastLRUCache.java?rev=1079827&r1=1079826&r2=1079827&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestFastLRUCache.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/search/TestFastLRUCache.java Wed Mar  9 15:12:16 2011
@@ -254,6 +254,18 @@ public class TestFastLRUCache extends Lu
     cache.destroy();
   }
 
+  // enough randomness to exercise all of the different cache purging phases
+  public void testRandom() {
+    int sz = random.nextInt(100)+5;
+    int lowWaterMark = random.nextInt(sz-3)+1;
+    int keyrange = random.nextInt(sz*3)+1;
+    ConcurrentLRUCache<Integer, String> cache = new ConcurrentLRUCache<Integer, String>(sz, lowWaterMark);
+    for (int i=0; i<10000; i++) {
+      cache.put(random.nextInt(keyrange), "");
+      cache.get(random.nextInt(keyrange));
+    }
+  }
+
   void doPerfTest(int iter, int cacheSize, int maxKey) {
     long start = System.currentTimeMillis();