[
https://issues.apache.org/jira/browse/HTTPCORE-253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13018787#comment-13018787
]
Sebb commented on HTTPCORE-253:
-------------------------------
In which case, maybe we should consider moving the metrics to the method,
rather than the connection? Or have metrics objects for both?
JMeter needs metrics for the individual method invocations, but there's
probably a use case for connection-based metrics too and/or httpclient metrics.
In the case of JMeter, httpclient metrics might be an alternative as one could
just look at the differences.
JMeter deliberately does not share connections between threads, so the re-lease
problem does not arise, but in general of course that needs to be fixed.
> getMetrics() does not work for HEAD or other early release methods
> ------------------------------------------------------------------
>
> Key: HTTPCORE-253
> URL: https://issues.apache.org/jira/browse/HTTPCORE-253
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Reporter: Sebb
> Fix For: 4.2
>
>
> The following code works fine for GET:
> HttpResponse httpResponse =
> httpClient.execute(httpRequest, localContext);
> HttpConnection conn = (HttpConnection)
> localContext.getAttribute(ExecutionContext.HTTP_CONNECTION);
> HttpConnectionMetrics metrics = conn.getMetrics();
> but fails on the getMetrics() call when the request is HEAD:
> org.apache.http.impl.conn.ConnectionShutdownException
> at
> org.apache.http.impl.conn.AbstractClientConnAdapter.assertValid(AbstractClientConnAdapter.java:154)
> at
> org.apache.http.impl.conn.AbstractClientConnAdapter.getMetrics(AbstractClientConnAdapter.java:190)
> This is because the getMetrics() method calls assertValid() which checks that
> the connection has not been released, and the HEAD request is released as
> soon as it completes, before returning to the caller.
> Possible solutions:
> - don't call assertValid() in getMetrics()
> - store a pointer to the metrics in the local context
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]