On 18-Oct-07, at 1:01 PM, Stu Hood wrote:

I'm running SVN r583865 (1.3-dev).

Mike: when you say 'process level management', do you mean starting them statically? Or starting them dynamically, but using a different container for each instance?

I have a large number of servers, each running 1-2 containers, each having 1-2 solr deployments (fixed). If I want a new Solr instance, I just start a new container (possibly on a new server). I treat it like a process, and can shut it down using kill and other unix tools.

A little explanation is probably in order:
------
We're using Solr to provide log search capability to our customer service department. We keep 7 days of logs available by starting up a new instance every 6 hours or so and stopping the oldest instance. We merge in pre-indexed logs every 10 minutes.

Could you run one process/container per instance?

We have a few nodes providing search, so we have one machine that schedules Solr instances on the nodes with Tomcat Manager, and all instances are searched simultaneously using the patch from SOLR-303.

An option I'm considering is keeping a static number of instances on each node, and doing a id[* TO *] delete when an instance needs to be reused, but I'd rather figure this bug out than refactor the scheduling/merging code for static instances. Java ought to be able to GC its way out of situations like this...

Note that deleting <query>*:*</query> is optimized in trunk to be ridiculously fast (basically equivalent to just unlinking the files).

-Mike

Reply via email to