the FastLRUCache can be used in 1.3 if it can be compiled and added to the solr.home/lib
On Tue, Jun 16, 2009 at 12:40 AM, Yonik Seeley<yo...@lucidimagination.com> wrote: > On Mon, Jun 15, 2009 at 2:58 PM, CameronL<cameron.develo...@gmail.com> wrote: >> Unfortunately upgrading to 1.4 isn't an option for us at the moment. >> >> Since we're stuck using 1.3, is there anything in particular we need to do >> to prevent these threads from locking (through configuration or something) > > Not really. > >> or is this sort of expected/unavoidable using 1.3? > > Throughput will be less when faceting with LRUCache, but not a lot > less under reasonable loads. Just because you're seeing threads > blocked on LRUCache doesn't mean it would perform well if it were > lockless. > How many CPU cores do you have on your box, and how many requests > typically execute at the same time? > What's your CPU utilization under load? > Does a single faceting request return in acceptable time when no other > requests are running? > > -Yonik > http://www.lucidimagination.com > > > >> >> Yonik Seeley-2 wrote: >>> >>> Solr 1.4 has a cache implementation that's lockless for gets, and >>> faster for gets. There's a new faceting implementation as well. >>> >>> -Yonik >>> http://www.lucidimagination.com >>> >>> On Mon, Jun 15, 2009 at 2:39 PM, CameronL<cameron.develo...@gmail.com> >>> wrote: >>>> >>>> I've searched through the forums and seen a few similar problems to this, >>>> but >>>> nothing that seemed to help much. >>>> >>>> We're running Solr 1.3 on Tomcat 6.0.16 and Java 6. We've been having >>>> performance problems with our search, causing long query times under >>>> normal >>>> traffic. We've taken a thread dump and have seen many threads locked or >>>> waiting for LRUCache (see below). Our cache values are as follows: >>>> >>>> <filterCache class="solr.LRUCache" size="20000" initialSize="10000" >>>> autowarmCount="10000"/> >>>> <queryResultCache class="solr.LRUCache" size="20000" initialSize="10000" >>>> autowarmCount="5000"/> >>>> <documentCache class="solr.LRUCache" size="25000" initialSize="10000" >>>> autowarmCount="0"/> >>>> >>>> >>>> "http-8983-99" daemon prio=10 tid=0x0000002beb3f5800 nid=0x2fb9 waiting >>>> for >>>> monitor entry [0x0000000047ea5000..0x0000000047ea6c30] >>>> java.lang.Thread.State: BLOCKED (on object monitor) >>>> at org.apache.solr.search.LRUCache.get(LRUCache.java:130) >>>> - waiting to lock <0x0000002a9fb94be8> (a >>>> org.apache.solr.search.LRUCache$1) >>>> at >>>> org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:605) >>>> at >>>> org.apache.solr.search.SolrIndexSearcher.numDocs(SolrIndexSearcher.java:1556) >>>> at >>>> org.apache.solr.request.SimpleFacets.getFacetTermEnumCounts(SimpleFacets.java:377) >>>> at >>>> org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:156) >>>> at >>>> org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:182) >>>> at >>>> org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:96) >>>> at >>>> org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:70) >>>> at >>>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:169) >>>> at >>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) >>>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:1204) >>>> at >>>> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303) >>>> at >>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232) >>>> "http-8983-83" daemon prio=10 tid=0x0000002bead1a000 nid=0x2f76 waiting >>>> for >>>> monitor entry [0x0000000046e95000..0x0000000046e96c30] >>>> java.lang.Thread.State: BLOCKED (on object monitor) >>>> at org.apache.solr.search.LRUCache.get(LRUCache.java:130) >>>> - locked <0x0000002a9fb94be8> (a >>>> org.apache.solr.search.LRUCache$1) >>>> at >>>> org.apache.solr.search.SolrIndexSearcher.getPositiveDocSet(SolrIndexSearcher.java:605) >>>> at >>>> org.apache.solr.search.SolrIndexSearcher.numDocs(SolrIndexSearcher.java:1556) >>>> at >>>> org.apache.solr.request.SimpleFacets.getFacetTermEnumCounts(SimpleFacets.java:377) >>>> at >>>> org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:156) >>>> at >>>> org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:182) >>>> at >>>> org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:96) >>>> at >>>> org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:70) >>>> at >>>> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:169) >>>> at >>>> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:131) >>>> at org.apache.solr.core.SolrCore.execute(SolrCore.java:1204) >>>> at >>>> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:303) >>>> at >>>> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:232) >>>> >>>> Has anyone else experienced this or does anyone have an idea of why this >>>> might be happening? >>>> -- >>>> View this message in context: >>>> http://www.nabble.com/LRUCache-causing-locked-threads-tp24040421p24040421.html >>>> Sent from the Solr - User mailing list archive at Nabble.com. >>>> >>>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/LRUCache-causing-locked-threads-tp24040421p24040772.html >> Sent from the Solr - User mailing list archive at Nabble.com. >> >> > -- ----------------------------------------------------- Noble Paul | Principal Engineer| AOL | http://aol.com