Issue Details (XML | Word | Printable)

Key: SOLR-667
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Yonik Seeley
Reporter: Noble Paul
Votes: 2
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
Solr

Alternate LRUCache implementation

Created: 30/Jul/08 06:11 AM   Updated: 13/Aug/09 02:10 PM
Return to search
Component/s: search
Affects Version/s: 1.3
Fix Version/s: 1.4

Time Tracking:
Not Specified

File Attachments:
  Size
Java Source File Licensed for inclusion in ASF works ConcurrentLRUCache.java 2008-09-26 09:28 PM Yonik Seeley 9 kB
Java Source File Licensed for inclusion in ASF works ConcurrentLRUCache.java 2008-08-01 05:21 AM Noble Paul 4 kB
Java Source File Licensed for inclusion in ASF works ConcurrentLRUCache.java 2008-07-30 06:15 AM Noble Paul 4 kB
Text File Licensed for inclusion in ASF works SOLR-667-alternate.patch 2008-11-01 07:20 PM Yonik Seeley 21 kB
Text File Licensed for inclusion in ASF works SOLR-667-alternate.patch 2008-10-31 06:04 PM Yonik Seeley 16 kB
Text File Licensed for inclusion in ASF works SOLR-667-updates.patch 2008-10-30 02:27 PM Yonik Seeley 3 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-11-23 04:22 PM Noble Paul 9 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-11-19 06:26 AM Noble Paul 7 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-11-17 04:17 AM Noble Paul 10 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-11-09 04:23 PM Noble Paul 1 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-10-31 08:15 AM Noble Paul 6 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-10-31 06:13 AM Noble Paul 6 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-10-29 05:54 PM Noble Paul 1 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-10-28 12:11 PM Shalin Shekhar Mangar 19 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-10-06 07:29 AM Noble Paul 17 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-09-25 04:39 AM Noble Paul 17 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-08-19 12:42 PM Noble Paul 16 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-08-12 02:15 PM Noble Paul 13 kB
Text File Licensed for inclusion in ASF works SOLR-667.patch 2008-08-12 02:13 PM Noble Paul 13 kB

Resolution Date: 28/Oct/08 08:14 PM


 Description  « Hide
The only available SolrCache i.e LRUCache is based on LinkedHashMap which has get() also synchronized. This can cause severe bottlenecks for faceted search. Any alternate implementation which can be faster/better must be considered.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Repository Revision Date User Message
ASF #708656 Tue Oct 28 20:13:49 UTC 2008 shalin SOLR-667 -- A LRU cache implementation based upon ConcurrentHashMap and other techniques to reduce contention and synchronization overhead, to utilize multiple CPU cores more effectively.
Files Changed
ADD /lucene/solr/trunk/src/test/org/apache/solr/search/TestFastLRUCache.java
ADD /lucene/solr/trunk/src/java/org/apache/solr/search/FastLRUCache.java
MODIFY /lucene/solr/trunk/CHANGES.txt
ADD /lucene/solr/trunk/src/java/org/apache/solr/common/util/ConcurrentLRUCache.java

Repository Revision Date User Message
ASF #709089 Thu Oct 30 05:35:31 UTC 2008 shalin SOLR-667 -- Making markAndSweep method public
Files Changed
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/common/util/ConcurrentLRUCache.java

Repository Revision Date User Message
ASF #709188 Thu Oct 30 16:06:38 UTC 2008 shalin SOLR-667 -- Thread safety fixes
Files Changed
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/common/util/ConcurrentLRUCache.java

Repository Revision Date User Message
ASF #709189 Thu Oct 30 16:11:20 UTC 2008 yonik SOLR-667: fix incorrect put() fix
Files Changed
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/common/util/ConcurrentLRUCache.java

Repository Revision Date User Message
ASF #710068 Mon Nov 03 14:32:58 UTC 2008 yonik SOLR-667: change markAndSweep algorithm, make FastLRUCache the default for filterCache in example and test
Files Changed
MODIFY /lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml
MODIFY /lucene/solr/trunk/src/test/org/apache/solr/search/TestFastLRUCache.java
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/search/FastLRUCache.java
MODIFY /lucene/solr/trunk/example/solr/conf/solrconfig.xml
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/common/util/ConcurrentLRUCache.java

Repository Revision Date User Message
ASF #711675 Wed Nov 05 19:33:47 UTC 2008 yonik SOLR-667: acceptableSize was always set to maxSize
Files Changed
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/search/FastLRUCache.java

Repository Revision Date User Message
ASF #720058 Sun Nov 23 22:32:22 UTC 2008 yonik SOLR-667: add finalizer to ConcurrentLRUCache in case destroy() is forgotten
Files Changed
MODIFY /lucene/solr/trunk/src/java/org/apache/solr/common/util/ConcurrentLRUCache.java