You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Grzegorz Tańczyk <go...@polzone.pl> on 2004/11/08 23:45:07 UTC
mod_jk2 and file upload
Hello dev,
I don't know what is reason of this problem: cocoon, tomcat or
mod_jk2. When I try to upload file with size greater then 4096 then
I see this error(see at the end :)). If I connect to cocoon directly
by 8080 port then there is no problem with it. When I look to
multipartparser.java I see:
private final static int FILE_BUFFER_SIZE = 4096;
I didn't make any experiments, but isn't F_B_S to big?
ERROR (2004-11-08) 12:06.48:866 [access] (Unknown-URI) Unknown-thread/CocoonServlet: Problem with Cocoon servlet
org.apache.cocoon.servlet.multipart.MultipartException: Malformed stream: Read timed out
at org.apache.cocoon.servlet.multipart.MultipartParser.parsePart(MultipartParser.java:175)
at org.apache.cocoon.servlet.multipart.MultipartParser.parseMultiPart(MultipartParser.java:128)
at org.apache.cocoon.servlet.multipart.MultipartParser.getParts(MultipartParser.java:101)
at org.apache.cocoon.servlet.multipart.MultipartParser.getParts(MultipartParser.java:107)
at org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java:94)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1004)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
--
Best regards,
Grzegorz mailto:goliatus@polzone.pl
Re: mod_jk2 and file upload
Posted by Leszek Gawron <lg...@mobilebox.pl>.
Jorg Heymans wrote:
> Posting to the list in case this is useful to others...
>
> (include mod-jk2.conf in your httpd.conf)
>
> ================== mod-jk2.conf ==============
> LoadModule jk2_module modules/mod_jk2.so
>
> <IfModule mod_jk2.c>
> #-----------------------------------------------
> # Set the Apache2 logger level
> #-----------------------------------------------
> #
> JkSet2 logger level debug
> #-----------------------------------------------
> # Set the alternate log file
> #-----------------------------------------------
> #
> JkSet2 logger.file:0 file ${serverRoot}/logs/jk2.log
> JkSet2 logger.file:0 level debug
> #-----------------------------------------------
> # Set the scoreboard file
> #-----------------------------------------------
> #
> JkSet2 shm: file ${serverRoot}/logs/jk2.shm
> JkSet2 shm: size 1048576
> #-----------------------------------------------
> # Where to find the workers2.properties file
> #-----------------------------------------------
> #
> JkSet config.file ${serverRoot}/conf/workers2.properties
> #-----------------------------------------------
> # Setup status worker
> #-----------------------------------------------
> #
> JkSet2 status: info "Status worker, displays runtime information"
> JkSet2 workerEnv: logger logger.file:0
> #-----------------------------------------------
> # Configure the /jkstatus handler
> #-----------------------------------------------
> #
> <Location "/jkstatus">
> JkUriSet group status:
> JkUriSet info "Map the /jkstatus handler to the Web server uri
> space"
> Allow from all
> </Location>
> <Location "/*">
> JkUriSet group lb:lb
> JkUriSet info "Jetty load balancing and failover"
> </Location>
> </IfModule>
>
> ================= mod-jk2.conf END =================
>
> ============= workers2.properties ==================
> [channel.socket:localhost:8310]
> port=8310
> host=127.0.0.1
>
> [channel.socket:localhost:8320]
> port=8320
> host=127.0.0.1
>
> [ajp13:localhost:8310]
> channel=channel.socket:localhost:8310
>
> [ajp13:localhost:8320]
> channel=channel.socket:localhost:8320
>
> [lb:balanced]
> worker=ajp13:localhost:8310
> worker=ajp13:localhost:8320
>
> [uri:/*]
> group=lb
>
> ================= workers2.properties END =================
>
> You need to setup the ajp13 listener in your jetty config
> <Call name="addListener">
> <Arg>
> <New class="org.mortbay.http.ajp.AJP13Listener">
> <Set name="port">8310</Set>
> </New>
> </Arg>
> </Call>
>
>
> HTH
>
> Grzegorz Tańczyk wrote:
>
>> Hello Jorg,
>>
>> Ok, It would be great!
>>
>> Tuesday, November 9, 2004, 9:27:18 AM, you wrote:
>> JH> Hi,
>>
>> JH> I am consistently uploading 400kb files over mod_jk2 to Jetty without
>> JH> problems. I can send you my mod_jk2 config if you want.
>>
>> JH> Regards
>> JH> Jorg
>>
>>
>
Could you please wikify it ?
--
Leszek Gawron
Re: mod_jk2 and file upload
Posted by Jorg Heymans <jh...@domek.be>.
Posting to the list in case this is useful to others...
(include mod-jk2.conf in your httpd.conf)
================== mod-jk2.conf ==============
LoadModule jk2_module modules/mod_jk2.so
<IfModule mod_jk2.c>
#-----------------------------------------------
# Set the Apache2 logger level
#-----------------------------------------------
#
JkSet2 logger level debug
#-----------------------------------------------
# Set the alternate log file
#-----------------------------------------------
#
JkSet2 logger.file:0 file ${serverRoot}/logs/jk2.log
JkSet2 logger.file:0 level debug
#-----------------------------------------------
# Set the scoreboard file
#-----------------------------------------------
#
JkSet2 shm: file ${serverRoot}/logs/jk2.shm
JkSet2 shm: size 1048576
#-----------------------------------------------
# Where to find the workers2.properties file
#-----------------------------------------------
#
JkSet config.file ${serverRoot}/conf/workers2.properties
#-----------------------------------------------
# Setup status worker
#-----------------------------------------------
#
JkSet2 status: info "Status worker, displays runtime information"
JkSet2 workerEnv: logger logger.file:0
#-----------------------------------------------
# Configure the /jkstatus handler
#-----------------------------------------------
#
<Location "/jkstatus">
JkUriSet group status:
JkUriSet info "Map the /jkstatus handler to the Web server uri
space"
Allow from all
</Location>
<Location "/*">
JkUriSet group lb:lb
JkUriSet info "Jetty load balancing and failover"
</Location>
</IfModule>
================= mod-jk2.conf END =================
============= workers2.properties ==================
[channel.socket:localhost:8310]
port=8310
host=127.0.0.1
[channel.socket:localhost:8320]
port=8320
host=127.0.0.1
[ajp13:localhost:8310]
channel=channel.socket:localhost:8310
[ajp13:localhost:8320]
channel=channel.socket:localhost:8320
[lb:balanced]
worker=ajp13:localhost:8310
worker=ajp13:localhost:8320
[uri:/*]
group=lb
================= workers2.properties END =================
You need to setup the ajp13 listener in your jetty config
<Call name="addListener">
<Arg>
<New class="org.mortbay.http.ajp.AJP13Listener">
<Set name="port">8310</Set>
</New>
</Arg>
</Call>
HTH
Grzegorz Tańczyk wrote:
> Hello Jorg,
>
> Ok, It would be great!
>
> Tuesday, November 9, 2004, 9:27:18 AM, you wrote:
> JH> Hi,
>
> JH> I am consistently uploading 400kb files over mod_jk2 to Jetty without
> JH> problems. I can send you my mod_jk2 config if you want.
>
> JH> Regards
> JH> Jorg
>
>
Re[2]: mod_jk2 and file upload
Posted by Grzegorz Tańczyk <go...@polzone.pl>.
Hello Jorg,
Ok, It would be great!
Tuesday, November 9, 2004, 9:27:18 AM, you wrote:
JH> Hi,
JH> I am consistently uploading 400kb files over mod_jk2 to Jetty without
JH> problems. I can send you my mod_jk2 config if you want.
JH> Regards
JH> Jorg
--
Best regards,
Grzegorz mailto:goliatus@polzone.pl
Re: mod_jk2 and file upload
Posted by Jorg Heymans <jh...@domek.be>.
Hi,
I am consistently uploading 400kb files over mod_jk2 to Jetty without
problems. I can send you my mod_jk2 config if you want.
Regards
Jorg
Grzegorz Tańczyk wrote:
> Hello dev,
>
> I don't know what is reason of this problem: cocoon, tomcat or
> mod_jk2. When I try to upload file with size greater then 4096 then
> I see this error(see at the end :)). If I connect to cocoon directly
> by 8080 port then there is no problem with it. When I look to
> multipartparser.java I see:
> private final static int FILE_BUFFER_SIZE = 4096;
>
> I didn't make any experiments, but isn't F_B_S to big?
>
> ERROR (2004-11-08) 12:06.48:866 [access] (Unknown-URI) Unknown-thread/CocoonServlet: Problem with Cocoon servlet
> org.apache.cocoon.servlet.multipart.MultipartException: Malformed stream: Read timed out
> at org.apache.cocoon.servlet.multipart.MultipartParser.parsePart(MultipartParser.java:175)
> at org.apache.cocoon.servlet.multipart.MultipartParser.parseMultiPart(MultipartParser.java:128)
> at org.apache.cocoon.servlet.multipart.MultipartParser.getParts(MultipartParser.java:101)
> at org.apache.cocoon.servlet.multipart.MultipartParser.getParts(MultipartParser.java:107)
> at org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java:94)
> at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1004)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:324)
> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:395)
> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
> at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
> at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> at java.lang.Thread.run(Thread.java:534)
>
>