I've been all around mod_jrun22 in the last couple days, and I know way more 
than I want to.  However, I can't get it to work quite right.

Environment:
Debian Lenny 5.0.6
Apache 2.2.9, Worker MPM (ideally)
JRun4 build 108673
CF 8.0.1 Enterprise in multiserver config

I've compiled the connector with apxs2.  Debian's default MPM is the worker 
(threaded) MPM. 

Under load I received a bunch of messages in the apache error log, along the 
lines of "startSync - detected broken mutex!"... In digging through the code, 
it appears unless APACHE_APR_THREAD is defined when the connector is compiled, 
the mutex library call is never made.  (At least for linux... Windows 
connectors have other means)  I find this interesting because wsconfig doesn't 
define that flag either, and I can't find it anywhere in /usr/include/...  So, 
I define the flag and recompile.  All the errors go away and the connector 
works great.

Except that a couple requests go out to lunch.  Under heavy load, mod_jrun will 
drop random connections with the following message:
JRun will not accept request.  Check JRun web server configuration and JRun 
mappings on JRun server.

Which responds to the client with an ugly 500 error.

I understand the error when you send a file extension like .html to JRun and 
there's no mapping in the web.xml... However, this is for a cfm page, whether 
it's a index.cfm found via DirectoryIndex or some other cfm page on the server. 
 99%+ of the requests go through fine, it's just this one request every couple 
hours that won't behave that's driving me crazy.  So it can't be a config 
issue.  Turning on tracing would likely write so much information to the log as 
to be unusable with the load required to reproduce this issue.

Switching to the perfork MPM removes the problem entirely.  It does, however, 
significantly increase CPU load on the server.

I've used JMeter to send tens of thousands of requests against the connector 
without any issues.  It's very hard to create artificial load to reproduce the 
problem... but real load makes it happen several times a day.

Which brings me to my question... Is anyone out there successfully using 
mod_jrun22 in an Apache 2.2 environment with the worker MPM? 
CF8.0.1/CF9/CF9.0.1?  Success stories?

I've considered upgrading JRun/CF to more recent versions, but a quick scan of 
the JRun connector code in CF9 and 9.0.1 yields only minor changes... Looks 
like mod_deflate fixes finally made it into 9.0.1 and 9.0 mostly pertained to 
Winsock2 upgrades.

Any information would be helpful!

Thanks.
Joe

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:337610
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to