use jk module submit some data with post method ,but "Bytes received" always show zero see source file ,JkCoyoteHandler.java ,in "inovke" method public int invoke( Msg msg, MsgContext ep ) throws IOException { if( ep.isLogTimeEnabled() ) ep.setLong( MsgContext.TIMER_PRE_REQUEST, System.currentTimeMillis()); Request req=ep.getRequest(); Response res=req.getResponse(); if( log.isDebugEnabled() ) log.debug( "Invoke " + req + " " + res + " " + req.requestURI().toString()); res.setNote( epNote, ep ); ep.setStatus( MsgContext.JK_STATUS_HEAD ); RequestInfo rp = req.getRequestProcessor(); rp.setStage(Constants.STAGE_SERVICE); try { adapter.service( req, res ); } catch( Exception ex ) { log.info("Error servicing request " + req,ex); } if(ep.getStatus() != MsgContext.JK_STATUS_CLOSED) { res.finish(); } req.recycle(); req.updateCounters(); //see this line res.recycle(); ep.recycle(); if( ep.getStatus() == MsgContext.JK_STATUS_ERROR ) { return ERROR; } ep.setStatus( MsgContext.JK_STATUS_NEW ); rp.setStage(Constants.STAGE_KEEPALIVE); return OK; } the request object recycled,the "byteRead" property must be set to zero ,but at the next line ,begin to "updateCounters",this may be a bug
Thanks for the report. This has been fixed in trunk and proposed for 6.0.x
(In reply to comment #1) > Thanks for the report. This has been fixed in trunk and proposed for 6.0.x which version ? I use version 6.0.18,how can I get the fixed version?
It will probably be in 6.0.20 but that depends on a) it getting the 3 +1 votes to be back-ported and b) there being a 6.0.20 release. Given that 6.0.19 is still in progress 6.0.20 is likely to be some time away. Alternatively, you can build Tomcat from source with the patch. If you want to do that, the users list is the place to get help.
Thanks !
This has been fixed in 6.0.x and will be in 6.0.20 onwards.