Since pure python doesn't have the ability to forcibly terminate a thread, paste does
some juggling of a pool of threads that grows and contracts as needed in an attempt to
both conserve memory and stay responsive. I'm not 100% certain what the thinking is in
limiting the number of requests a responsive thread can process in its lifetime, but
it's a configurable limit (100 being the paste default) and we can play around with
the settings some to maybe optimize this a bit. It probably makes sense to try and make
some more of this configurable... Things like the size of the thread pool, the number of
available threads in the pool, and the number of requests a thread can process in its
life.
I'm not sure why Conductor is reporting "instance vanished". A new thread is
created for the one that expires and imagefactory should still be available. There may be
some lag happening in the thread creation, which adjusting the above settings would
alleviate.
-steve
On Jul 12, 2012, at 1:21 AM, Justin Clift wrote:
Hi guys,
Anyone know if these warnings in the ImageFactory log file are
important?
2012-07-12 15:09:34,875 DEBUG paste.httpserver.ThreadPool thread(worker 20) Message:
Thread 139904885430016 processed 101 requests (limit 100); stopping thread
2012-07-12 15:09:34,875 DEBUG paste.httpserver.ThreadPool thread(worker 30) Message:
Started new worker 139904327390976: Voluntary replacement for thread 139904885430016
2012-07-12 15:10:04,872 DEBUG paste.httpserver.ThreadPool thread(MainThread) Message:
Added task (0 tasks queued)
2012-07-12 15:10:04,876 DEBUG paste.httpserver.ThreadPool thread(worker 21) Message:
Thread 139904306734848 processed 101 requests (limit 100); stopping thread
2012-07-12 15:10:04,876 DEBUG paste.httpserver.ThreadPool thread(worker 31) Message:
Started new worker 139904885430016: Voluntary replacement for thread 139904306734848
2012-07-12 15:10:45,775 DEBUG paste.httpserver.ThreadPool thread(MainThread) Message:
Added task (0 tasks queued)
They seem to happen when launching several deployments at
the same time (5 x 2 instance deployments).
The deployments themselves all work fine. Can interact with
the deployed software, etc.
Meanwhile Conductor itself periodically says "Instance vanished"
for them, before coming good again a while later. (repeatedly)
Regards and best wishes,
Justin Clift
--
Aeolus Community Manager
http://www.aeolusproject.org