Here is some more information about my setup,

Solr - v1.4 (nightly build 03/29/09)
Servlet Container - Tomcat 6.0.18
JVM - 1.6.0 (64 bit)
OS -  Mac OS X Server 10.5.6

Hardware Overview:

Processor Name: Quad-Core Intel Xeon
Processor Speed: 3 GHz
Number Of Processors: 2
Total Number Of Cores: 8
L2 Cache (per processor): 12 MB
Memory: 20 GB
Bus Speed: 1.6 GHz

JVM Parameters (for Solr):

export CATALINA_OPTS="-server -Xms6044m -Xmx6044m -DSOLR_APP
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gc.log
-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000"

Other:

lsof|grep solr|wc -l
    2493

ulimit -an
  open files                      (-n) 9000

Tomcat
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               maxThreads="100" />

Total Solr cores on same instance - 65

useCompoundFile - true

The tests I ran,

While Indexer is running
1)  Go to "http://juum19.co.com:8080/solr";    - returns blank page (no
error in the catalina.out)

2) Try "telnet juum19.co.com 8080"  - returns with "Connection closed
by foreign host"

Stop the Indexer Program (Tomcat is still running with Solr)

3)  Go to "http://juum19.co.com:8080/solr";  - works ok, shows the list
of all the Solr cores

4) Try telnet - able to Telnet fine

5)  Now comment out all the caches in solrconfig.xml. Try same tests,
but the Tomcat still doesn't response.

Is there a way to stop the auto-warmer. I commented out the caches in
the solrconfig.xml but still see the following log,

INFO: autowarming result for searc...@3aba3830 main
fieldValueCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}

INFO: Closing searc...@175dc1e2
main    
fieldValueCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
filterCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
queryResultCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}
documentCache{lookups=0,hits=0,hitratio=0.00,inserts=0,evictions=0,size=0,warmupTime=0,cumulative_lookups=0,cumulative_hits=0,cumulative_hitratio=0.00,cumulative_inserts=0,cumulative_evictions=0}


6) Change the Indexer frequency so it runs every 2 min (instead of all
the time). I noticed once the commit is done, I'm able to run my
searches. During commit and auto-warming period I just get blank page.

 7) Changed from Solrj to XML update -  I still get the blank page
whenever update/commit is happening.

Apr 13, 2009 6:46:18 PM
org.apache.solr.update.processor.LogUpdateProcessor finish
INFO: {add=[621094001, 621094002, 621094003, 621094004, 621094005,
621094006, 621094007, 621094008, ...(6992 more)]} 0 1948
Apr 13, 2009 6:46:18 PM org.apache.solr.core.SolrCore execute
INFO: [20090413_12] webapp=/solr path=/update params={} status=0 QTime=1948


So, looks like it's not just StreamingUpdateSolrServer, but whenever
the update/commit is happening I'm not able to search. I don't know if
it's related to using multi-core. In this test I was using only single
thread for update to a single core using only single Solr instance.

So, it's clearly related to index process (update, commit and
auto-warming). As soon as update/commit/auto-warming is completed I'm
able to run my queries again. Is there anything that could stop
searching while update process is in-progress - like any lock or
something?

Any other ideas?

Thanks,
-vivek

On Mon, Apr 13, 2009 at 12:14 AM, Shalin Shekhar Mangar
<shalinman...@gmail.com> wrote:
> On Mon, Apr 13, 2009 at 12:36 PM, vivek sar <vivex...@gmail.com> wrote:
>
>> I index in 10K batches and commit after 5 index cyles (after 50K). Is
>> there any limitation that I can't search during commit or
>> auto-warming? I got 8 CPU cores and only 2 were showing busy (using
>> top) - so it's unlikely that the CPU was pegged.
>>
>>
> No, there is no such limitation. The old searcher will continue to serve
> search requests until the new one is warmed and registered.
>
> So, CPU does not seem to be an issue. Does this happen only when you use
> StreamingUpdateSolrServer? Which OS, file system? What JVM parameters are
> you using? Which servlet container and version?
>
> --
> Regards,
> Shalin Shekhar Mangar.
>

Reply via email to