Re: Solr + Tomcat Undeploy Leaks

2007-10-19 Thread Ed Summers
On 10/18/07, Mike Klaas [EMAIL PROTECTED] wrote:
 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.

I realize this is a bit off-topic -- but I'm curious what the
rationale was behind having that many solr instances on that many
machines and how they are coordinated. Is it a master/slave setup or
are they distinct indexes? Any further details about your architecture
would be interesting to read about :-)

//Ed


Re: Solr + Tomcat Undeploy Leaks

2007-10-19 Thread Mike Klaas

On 19-Oct-07, at 7:19 AM, Ed Summers wrote:


On 10/18/07, Mike Klaas [EMAIL PROTECTED] wrote:



I realize this is a bit off-topic -- but I'm curious what the
rationale was behind having that many solr instances on that many
machines and how they are coordinated. Is it a master/slave setup or
are they distinct indexes? Any further details about your architecture
would be interesting to read about :-)


Rationale?  Performance!  I can't divulge the exact size of our  
corpus, but it is between zero and 1 billion web documents.  To  
search that many documents efficiently requires distributing over  
many machines.


Most of the architecture is not Solr-related, but it is pretty  
standard large-scale search engine stuff (namely, distributing  
documents using some sort of unique hash across multiple machines).   
I'm sure Nutch's design is similar, and there are several academic  
papers on the subject.


Solr plays the role of index at the nodes--it isn't the primary  
document storage.   Each individual index doesn't look so different  
from a typical-size Solr index: the main differences are 1) splitting  
the stored fields among two Solr apps running in a single jvm for io  
performance (for highlighting) 2) scoring/query tweaks.


cheers,
-Mike


RE: Solr + Tomcat Undeploy Leaks

2007-10-18 Thread Stu Hood
Any ideas?

Has anyone had experienced this problem with other containers? I'm not tied to 
Tomcat if I can find another servlet host with a REST api for deploying apps.

Thanks,
Stu

-Original Message-
From: Stu Hood [EMAIL PROTECTED]
Sent: Wednesday, October 17, 2007 4:46pm
To: solr-user@lucene.apache.org
Subject: Solr + Tomcat Undeploy Leaks

Hello,

I'm using the Tomcat Manager app with 6.0.14 to start and stop Solr instances, 
and I believe I am running into a variant of the linked issue:

http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak?action=print

According to `top`, the 'size' of the Tomcat process reaches the limit I have 
set for it with the Java -Xmx flag soon after starting and launching a few 
instances. The 'RSS' varies based on how full the caches are at any particular 
time, but I don't think it ever reaches the 'size'.

After a few days, I will get OOM errors in the logs when I try and start new 
instances (note: this is typically in the middle of the night, when usage is 
low), and all of the instances will stop responding until I (hard) restart 
Tomcat.



Has anyone run into this issue before? Is logging the culprit? If so, what 
options do I have (besides setting up a cron job to restart Tomcat nightly...)

Thanks,

Stu Hood
Webmail.us
You manage your business. We'll manage your email.®





Re: Solr + Tomcat Undeploy Leaks

2007-10-18 Thread Mike Klaas
I'm not sure that many people are dynamically taking down/starting up  
Solr webapps in servlet containers.  I certainly perfer process-level  
management of my (many) Solr instances.


-Mike

On 18-Oct-07, at 10:40 AM, Stu Hood wrote:


Any ideas?

Has anyone had experienced this problem with other containers? I'm  
not tied to Tomcat if I can find another servlet host with a REST  
api for deploying apps.


Thanks,
Stu

-Original Message-
From: Stu Hood [EMAIL PROTECTED]
Sent: Wednesday, October 17, 2007 4:46pm
To: solr-user@lucene.apache.org
Subject: Solr + Tomcat Undeploy Leaks

Hello,

I'm using the Tomcat Manager app with 6.0.14 to start and stop Solr  
instances, and I believe I am running into a variant of the linked  
issue:


http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak? 
action=print


According to `top`, the 'size' of the Tomcat process reaches the  
limit I have set for it with the Java -Xmx flag soon after starting  
and launching a few instances. The 'RSS' varies based on how full  
the caches are at any particular time, but I don't think it ever  
reaches the 'size'.


After a few days, I will get OOM errors in the logs when I try and  
start new instances (note: this is typically in the middle of the  
night, when usage is low), and all of the instances will stop  
responding until I (hard) restart Tomcat.




Has anyone run into this issue before? Is logging the culprit? If  
so, what options do I have (besides setting up a cron job to  
restart Tomcat nightly...)


Thanks,

Stu Hood
Webmail.us
You manage your business. We'll manage your email.®







Re: Solr + Tomcat Undeploy Leaks

2007-10-18 Thread Tom Hill
I certainly have seen memory problems when I just drop a new war file in
place. So now I usually stop tomcat and restart.

I used to see problems (pre-1.0) when I just redeployed repeatedly, without
even accessing the app, but I've got a little script running in the
background that has done that 50 times now, without running out of space.
Are you on a current version? I'm on 1.2

Tlom

On 10/18/07, Mike Klaas [EMAIL PROTECTED] wrote:

 I'm not sure that many people are dynamically taking down/starting up
 Solr webapps in servlet containers.  I certainly perfer process-level
 management of my (many) Solr instances.

 -Mike

 On 18-Oct-07, at 10:40 AM, Stu Hood wrote:

  Any ideas?
 
  Has anyone had experienced this problem with other containers? I'm
  not tied to Tomcat if I can find another servlet host with a REST
  api for deploying apps.
 
  Thanks,
  Stu
 
  -Original Message-
  From: Stu Hood [EMAIL PROTECTED]
  Sent: Wednesday, October 17, 2007 4:46pm
  To: solr-user@lucene.apache.org
  Subject: Solr + Tomcat Undeploy Leaks
 
  Hello,
 
  I'm using the Tomcat Manager app with 6.0.14 to start and stop Solr
  instances, and I believe I am running into a variant of the linked
  issue:
 
  http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak?
  action=print
 
  According to `top`, the 'size' of the Tomcat process reaches the
  limit I have set for it with the Java -Xmx flag soon after starting
  and launching a few instances. The 'RSS' varies based on how full
  the caches are at any particular time, but I don't think it ever
  reaches the 'size'.
 
  After a few days, I will get OOM errors in the logs when I try and
  start new instances (note: this is typically in the middle of the
  night, when usage is low), and all of the instances will stop
  responding until I (hard) restart Tomcat.
 
  
 
  Has anyone run into this issue before? Is logging the culprit? If
  so, what options do I have (besides setting up a cron job to
  restart Tomcat nightly...)
 
  Thanks,
 
  Stu Hood
  Webmail.us
  You manage your business. We'll manage your email.(R)
 
 
 




Re: Solr + Tomcat Undeploy Leaks

2007-10-18 Thread Mike Klaas

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


Re: Solr + Tomcat Undeploy Leaks

2007-10-18 Thread Stu Hood
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?

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.

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...

Thanks,
Stu


-Original Message-
From: Tom Hill [EMAIL PROTECTED]
Sent: Thursday, October 18, 2007 3:34pm
To: solr-user@lucene.apache.org
Subject: Re: Solr + Tomcat Undeploy Leaks

I certainly have seen memory problems when I just drop a new war file in
place. So now I usually stop tomcat and restart.

I used to see problems (pre-1.0) when I just redeployed repeatedly, without
even accessing the app, but I've got a little script running in the
background that has done that 50 times now, without running out of space.
Are you on a current version? I'm on 12

Tlom

On 10/18/07, Mike Klaas [EMAIL PROTECTED] wrote:

 I'm not sure that many people are dynamically taking down/starting up
 Solr webapps in servlet containers.  I certainly perfer process-level
 management of my (many) Solr instances.

 -Mike

 On 18-Oct-07, at 10:40 AM, Stu Hood wrote:

  Any ideas?
 
  Has anyone had experienced this problem with other containers? I'm
  not tied to Tomcat if I can find another servlet host with a REST
  api for deploying apps.
 
  Thanks,
  Stu
 
  -Original Message-
  From: Stu Hood [EMAIL PROTECTED]
  Sent: Wednesday, October 17, 2007 4:46pm
  To: solr-user@lucene.apache.org
  Subject: Solr + Tomcat Undeploy Leaks
 
  Hello,
 
  I'm using the Tomcat Manager app with 6.0.14 to start and stop Solr
  instances, and I believe I am running into a variant of the linked
  issue:
 
  http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak?
  action=print
 
  According to `top`, the 'size' of the Tomcat process reaches the
  limit I have set for it with the Java -Xmx flag soon after starting
  and launching a few instances. The 'RSS' varies based on how full
  the caches are at any particular time, but I don't think it ever
  reaches the 'size'.
 
  After a few days, I will get OOM errors in the logs when I try and
  start new instances (note: this is typically in the middle of the
  night, when usage is low), and all of the instances will stop
  responding until I (hard) restart Tomcat.
 
  
 
  Has anyone run into this issue before? Is logging the culprit? If
  so, what options do I have (besides setting up a cron job to
  restart Tomcat nightly...)
 
  Thanks,
 
  Stu Hood
  Webmail.us
  You manage your business. We'll manage your email.(R)
 
 
 






Solr + Tomcat Undeploy Leaks

2007-10-17 Thread Stu Hood
Hello,

I'm using the Tomcat Manager app with 6.0.14 to start and stop Solr instances, 
and I believe I am running into a variant of the linked issue:

http://wiki.apache.org/jakarta-commons/Logging/UndeployMemoryLeak?action=print

According to `top`, the 'size' of the Tomcat process reaches the limit I have 
set for it with the Java -Xmx flag soon after starting and launching a few 
instances. The 'RSS' varies based on how full the caches are at any particular 
time, but I don't think it ever reaches the 'size'.

After a few days, I will get OOM errors in the logs when I try and start new 
instances (note: this is typically in the middle of the night, when usage is 
low), and all of the instances will stop responding until I (hard) restart 
Tomcat.



Has anyone run into this issue before? Is logging the culprit? If so, what 
options do I have (besides setting up a cron job to restart Tomcat nightly...)

Thanks,

Stu Hood
Webmail.us
You manage your business. We'll manage your email.®