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