Update for the elapsed time for these calls that fail strictly at startup.
 The stair-step 5/25/500... was strictly due to a pause we insert between
retries.  All 4 tries fail within 5ms.

Given the configuration settings for CloseableHttpClient a failure within
5ms seems unlikely.  The trip to the F5 VIP and back would barely complete
within 5ms.


Any thoughts on how to stabilize this a bit at startup?  Or glean more
information about why apache-hc would fail with NoHttpResponseException so
quickly.  Stack trace for the error:
    org.apache.http.NoHttpResponseException:
crm-asp-prod.starbucks.net:443 failed to respond
    
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpRe
sponseParser.java:143)
    
org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpRe
sponseParser.java:57)
    
org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.j
ava:261)
    
org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(Def
aultBHttpClientConnection.java:165)
    
org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:
167)
    
org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestE
xecutor.java:272)
    
org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.ja
va:124)
    
org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:2
71)
    
org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
    org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
    
org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    
org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient
.java:184)
    
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient
.java:82)



‹ 
Pete Keyes






On 5/4/16, 11:13 AM, "Pete Keyes" <pke...@starbucks.com> wrote:

>We have an odd issue wherein at Tomcat(TomEE) startup apache-hc execution
>requests throw a NoHttpResponseException within less than 1 second.
>After a few minutes this behavior completely stops and isn¹t seen again
>until the next time we stop and restart Tomcat(TomEE).
>
>Basic apache-hc configuration information:
>  - single static CloseableHttpClient instance initialized at container
>startup;
>  - all requests managed via PoolingHttpClientConnectionManager
>  - connection timeout 6000ms
>  - read timeout 6000ms
>  - we use 4 retries
>  - the typical timing for each
>HttpClient.execute(HttpUriRequest,HttpContext) during this startup period
>is that they fail very fast:
>      try-1: ~  5ms
>      try-2: ~250ms
>      try-3: ~500ms
>      try-5: ~700ms
>We measure the elapsed milli-seconds with respect to ³execute()².  It
>seems very odd that execute() fails so fast given the apache-hc settings.
> It isn¹t every execution request that fails.  But, a very high
>percentage of them do exhibit this behavior during the initial ~5 minutes
>after Tomcat(TomEE) begins dispatching inbound requests.
>
>The inbound HTTP request volume inbound is ~70 RPS(requests per second).
>
>After ~5 minutes this type of error never repeats.  We have logging in
>place that verifies all the apache-hc components are fully instantiated
>prior to any request being processed.
>
>Version information:
>  apache-hc: 4.5.2
>  java     : 1.8r60
>  tomcat   : 7.0.68
>  tomee    : 1.7.4
>
>
>Any ideas at all given the minimal information that I have to provide are
>greatly appreciated.
>
>‹
>Pete
>


---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to