Anonymous | Login | Signup for a new account | 11-24-2024 08:36 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0004251 | [Resin] | minor | always | 10-07-10 16:03 | 11-02-10 15:09 | ||||
Reporter | emil | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | 4.0.10 | ||||||
Summary | 0004251: <thread-max> not picked up from configuration | ||||||||
Description |
(rep by snw via forums) I am posting here first rather than filing a bug report straight away in case this is user error. Resin 4.0.10 looks like it doesn't action the thread-max element in config files. This is causing Resin to eventually run out of memory after spawning too many threads (my worst case scenario has each http request trigger a database call that takes about an 30 minutes to complete). My config file is this basic.conf: <resin xmlns="http://caucho.com/ns/resin" [^] xmlns:resin="urn:java:com.caucho.resin"> <cluster-default> <resin:import path="${__DIR__}/app-default.xml"/> <server-default> <thread-max>50</thread-max> <thread-idle-min>10</thread-idle-min> <thread-idle-max>20</thread-idle-max> </server-default> </cluster-default> <cluster id=""> <server id=""> <thread-max>50</thread-max> <thread-idle-min>10</thread-idle-min> <thread-idle-max>20</thread-idle-max> <http port="8080"/> </server> <host id="" root-directory="."> <web-app id="/" root-directory="/tmp/test"/> </host> </cluster> </resin> So, pretty clear that max thread pool size should be 50 right? Or have I misunderstood the configuration options? I have two test scripts in /tmp/test, status.jsp to print the number of threads in the pool / total threads allowed, and threads.jsp to change the thread pool max size programmatically. status.jsp: <H1> Thread Max: </H1> <%= com.caucho.env.thread.ThreadPool.getThreadPool().g etThreadCount() %>/ <%= com.caucho.env.thread.ThreadPool.getThreadPool().g etThreadMax() %> threads.jsp: <H1> Thread Max: </H1> <% com.caucho.env.thread.ThreadPool.getThreadPool().s etThreadMax(128); %> <%= com.caucho.env.thread.ThreadPool.getThreadPool().g etThreadCount() %>/ <%= com.caucho.env.thread.ThreadPool.getThreadPool().g etThreadMax() %> Running http://127.0.0.1:8080/status.jsp [^] I get: Thread Max: 15/ 4096 Running http://127.0.0.1:8080/threads.jsp [^] I get: Thread Max: 15/ 128 So, it started up with the wrong amount, but I was able to set it to a different amount later. The thread pool max directive in Resin 3.1.9 works fine for me. So - is this a bug in 4.0.10 and should I file it in the tracker, or is this a user error? |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
29 total queries executed. 26 unique queries executed. |