Could the people who did the ClientConnectionDebug stuff please have a look at the TODO item below. I don't think that the code is executed in the right place.
Andreas ---------- Forwarded message ---------- From: <veit...@apache.org> Date: Sat, May 15, 2010 at 21:15 Subject: svn commit: r944701 - /synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java To: comm...@synapse.apache.org Author: veithen Date: Sat May 15 19:15:43 2010 New Revision: 944701 URL: http://svn.apache.org/viewvc?rev=944701&view=rev Log: Take into account that the encoder may switch to completed even if bytesWritten == 0. Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java?rev=944701&r1=944700&r2=944701&view=diff ============================================================================== --- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java (original) +++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/ClientHandler.java Sat May 15 19:15:43 2010 @@ -555,11 +555,21 @@ public class ClientHandler implements NH try { int bytesWritten = outBuf.produceContent(encoder); - if (metrics != null && bytesWritten > 0) { - if (metrics.getLevel() == MetricsCollector.LEVEL_FULL) { - metrics.incrementBytesSent(getMessageContext(conn), bytesWritten); - } else { - metrics.incrementBytesSent(bytesWritten); + if (metrics != null) { + if (bytesWritten > 0) { + if (metrics.getLevel() == MetricsCollector.LEVEL_FULL) { + metrics.incrementBytesSent(getMessageContext(conn), bytesWritten); + } else { + metrics.incrementBytesSent(bytesWritten); + } + + // TODO: executing this when metrics != 0 && bytesWritten > 0 seems strange; + // shouldn't the condition be encoder.isCompleted() ?!?!? + ClientConnectionDebug ccd = (ClientConnectionDebug) + context.getAttribute(CLIENT_CONNECTION_DEBUG); + if (ccd != null) { + ccd.recordRequestCompletionTime(); + } } if (encoder.isCompleted()) { @@ -569,12 +579,6 @@ public class ClientHandler implements NH metrics.incrementMessagesSent(); } } - - ClientConnectionDebug ccd = (ClientConnectionDebug) - context.getAttribute(CLIENT_CONNECTION_DEBUG); - if (ccd != null) { - ccd.recordRequestCompletionTime(); - } } } catch (IOException e) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org