Hi, I confirm there seem to be a bug in this field as per : - https://bz.apache.org/bugzilla/show_bug.cgi?id=57921
Regards On Wed, May 13, 2015 at 10:58 PM, Mark A. Claassen <[email protected]> wrote: > The 4.4.1 code doesn't seem to help. > > I have been able to reproduce the issue more regularly now. It seems to > have to do with keep-alives and if the client takes longer to read the > message than the keep alive value. > > In my test case I open the connection, read all the data, sleep for a > while, then close the connection. > If my sleep is a bit longer than the keep-alive value, I will get a > org.apache.http.NoHttpResponseException. If my sleep value is larger, I > will get a java.net.SocketException. > (Keep-Alive is 5000 millis. If I sleep for 6000, I will get a > NoHttpResponseException. If I sleep for 11000, I will get a > SocketException. > > If I use the NoConnectionReuseStrategy, the problem goes away. > > Is something set up for my keep alives? I put some breakpoints in > CPool.java. I can see connections being created, but the validate() method > of CPool is never getting called. > > I am curious this part of AbstractConnPool.java. This seems like if the > server invalidated a connection early, the validate check would never > happen. > > } else if (this.validateAfterInactivity > 0) { > if (entry.getUpdated() + > this.validateAfterInactivity <= System.currentTimeMillis()) { > if (!validate(entry)) { > entry.close(); > } > } > } > Scenario: > Server sends data. > Client reads packet, processes it for 6 seconds > Server senses that inactivity for 5 seconds, closes connection > Client closes connection and places entry back in the pool > Connection immediately leased to another thread > Time between release and close is almost nothing > Pool releases stale connection. > > > > ---- (1) ---- Throwable - Class (class java.net.SocketException) > Message (Software caused connection abort: socket write error) > at java.net.SocketOutputStream.socketWrite0(Native Method) > at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) > at java.net.SocketOutputStream.write(SocketOutputStream.java:153) > at sun.security.ssl.OutputRecord.writeBuffer(OutputRecord.java:431) > at sun.security.ssl.OutputRecord.write(OutputRecord.java:417) > at > sun.security.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:864) > at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:835) > at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) > at > org.apache.http.impl.conn.LoggingOutputStream.write(LoggingOutputStream.java:77) > at > org.apache.http.impl.io.SessionOutputBufferImpl.streamWrite(SessionOutputBufferImpl.java:126) > at > org.apache.http.impl.io.SessionOutputBufferImpl.flushBuffer(SessionOutputBufferImpl.java:138) > at > org.apache.http.impl.io.SessionOutputBufferImpl.flush(SessionOutputBufferImpl.java:146) > > > ---- (1) ---- Throwable - Class (class > org.apache.http.NoHttpResponseException) > Message (The target server failed to respond) > at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) > at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) > at > org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) > at > org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) > at > org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) > at > org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) > at > org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) > at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) > at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) > > > > Mark Claassen > Senior Software Engineer > > Donnell Systems, Inc. > 130 South Main Street > Leighton Plaza Suite 375 > South Bend, IN 46601 > E-mail: mailto:[email protected] > Voice: (574)232-3784 > Fax: (574)232-4014 > > ------------------------------------------- > Confidentiality Notice: OCIESERVICE > ------------------------------------------- > The contents of this e-mail message and any attachments are intended > solely for the addressee(s) named in this message. This communication is > intended to be and to remain confidential. If you are not the intended > recipient of this message, or if this message has been addressed to you in > error, please immediately alert the sender by reply e-mail and then delete > this message and its attachments. Do not deliver, distribute, copy, > disclose the contents or take any action in reliance upon the information > contained in the communication or any attachments. > > -----Original Message----- > From: Oleg Kalnichevski [mailto:[email protected]] > Sent: Wednesday, May 13, 2015 3:25 AM > To: HttpClient User Discussion > Subject: Re: Strange SSL error > > On Tue, 2015-05-12 at 20:28 +0000, Mark A. Claassen wrote: > > I was looking at the change log for 4.4 and 4.4.1. Count > HTTPCLIENT-1609 be causing this? > > The issue was about detection of half-closed connections. If > NoHttpResponseException you have been seeing is a result of the connection > getting closed by the opposite endpoint, upgrading to 4.4.1 > might help resolve the issue. > > Oleg > > > Or does it have to be something on the network closing the connection? > > > > * [HTTPCLIENT-1609] Stale connection check in > PoolingHttpClientConnectionManager has no effect. > > Internal connection pool does not correctly implement connection > validation. > > Contributed by Charles Lip <rene1 at singnet.com.sg> > > > > > > Mark Claassen > > Senior Software Engineer > > > > Donnell Systems, Inc. > > 130 South Main Street > > Leighton Plaza Suite 375 > > South Bend, IN 46601 > > E-mail: mailto:[email protected] > > Voice: (574)232-3784 > > Fax: (574)232-4014 > > > > ------------------------------------------- > > Confidentiality Notice: OCIESERVICE > > ------------------------------------------- > > The contents of this e-mail message and any attachments are intended > solely for the addressee(s) named in this message. This communication is > intended to be and to remain confidential. If you are not the intended > recipient of this message, or if this message has been addressed to you in > error, please immediately alert the sender by reply e-mail and then delete > this message and its attachments. Do not deliver, distribute, copy, > disclose the contents or take any action in reliance upon the information > contained in the communication or any attachments. > > > > > > -----Original Message----- > > From: Mark A. Claassen [mailto:[email protected]] > > Sent: Tuesday, May 12, 2015 8:58 AM > > To: HttpClient User Discussion > > Subject: RE: Strange SSL error > > > > The scenario is that he logs in to our Swing application, there is a > burst of transactions, maybe a slight pause, and then the next one fails. > The whole process probably takes around 10 seconds. I was actually > wondering if this had something to do with bad connections in the pool, but > it is hard to say since I can't reproduce it reliably. > > > > The communication is over SSL, and consists of readable XML and binary > data. Most of the messages are < 10K, some bigger. We checked the > firewall wall logs (since there is a firewall involved) and there is > nothing. I connect through the same route and this never happens to me. > > > > Thanks again, > > > > Mark Claassen > > Senior Software Engineer > > > > Donnell Systems, Inc. > > 130 South Main Street > > Leighton Plaza Suite 375 > > South Bend, IN 46601 > > E-mail: mailto:[email protected] > > Voice: (574)232-3784 > > Fax: (574)232-4014 > > > > ------------------------------------------- > > Confidentiality Notice: OCIESERVICE > > ------------------------------------------- > > The contents of this e-mail message and any attachments are intended > solely for the addressee(s) named in this message. This communication is > intended to be and to remain confidential. If you are not the intended > recipient of this message, or if this message has been addressed to you in > error, please immediately alert the sender by reply e-mail and then delete > this message and its attachments. Do not deliver, distribute, copy, > disclose the contents or take any action in reliance upon the information > contained in the communication or any attachments. > > > > -----Original Message----- > > From: Stefan Magnus Landrø [mailto:[email protected]] > > Sent: Monday, May 11, 2015 5:15 PM > > To: HttpClient User Discussion > > Subject: Re: Strange SSL error > > > > What kind of data is being transfered? Do you tend to keep connections > open for a long time? Firewall killing connections? > > > > Sendt fra min iPhone > > > > > Den 11. mai 2015 kl. 21.36 skrev Mark A. Claassen <[email protected] > >: > > > > > > What would cause the reset, and what would make it so seemingly > random? Is there something I am doing wrong? Is there a setting I can set > so that this doesn't randomly happen to him? It is not too often, but > often enough to be annoying and look like a failure in the application. > > > > > > Thanks > > > > > > Mark Claassen > > > Senior Software Engineer > > > > > > Donnell Systems, Inc. > > > 130 South Main Street > > > Leighton Plaza Suite 375 > > > South Bend, IN 46601 > > > E-mail: mailto:[email protected] > > > Voice: (574)232-3784 > > > Fax: (574)232-4014 > > > > > > > > > -----Original Message----- > > > From: Stefan Magnus Landrø [mailto:[email protected]] > > > Sent: Friday, May 08, 2015 5:20 PM > > > To: HttpClient User Discussion > > > Subject: Re: Strange SSL error > > > > > > Looks like a tcp reset to me > > > > > > Sendt fra min iPhone > > > > > >> Den 8. mai 2015 kl. 22.49 skrev Mark A. Claassen <[email protected] > >: > > >> > > >> We are having one user that is getting this sporadically. No one > else can reproduce it. Any idea what might be causing it? Because it is > hard to reproduce, I am having trouble knowing where to start? Everyone > else who tries has no issues. He logs into our application, which involves > lots of small network transactions, and then the next thing he does often > causes this. I think the situation would be that there is a lot of > transactions very quickly, then a slight delay. After this, the next > transaction fails, and then it will be fine. Any ideas? > > >> > > >> > > >> ---- (1) ---- Throwable - Class (class > org.apache.http.NoHttpResponseException) > > >> Message (portal.cpfs.com:443 failed to respond) > > >> at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) > > >> at > org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) > > >> at > org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) > > >> at > org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) > > >> at > org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167) > > >> at > org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) > > >> at > org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) > > >> at > org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271) > > >> at > org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) > > >> at > org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) > > >> at > org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) > > >> at > org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) > > >> at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) > > >> at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) > > >> at > > >> org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHt > > >> tpClient.java:55) > > >> Mark Claassen > > >> Senior Software Engineer > > >> > > >> Donnell Systems, Inc. > > >> 130 South Main Street > > >> Leighton Plaza Suite 375 > > >> South Bend, IN 46601 > > >> E-mail: mailto:[email protected] > > >> Voice: (574)232-3784 > > >> Fax: (574)232-4014 > > >> > > >> ------------------------------------------- > > >> Confidentiality Notice: OCIESERVICE > > >> ------------------------------------------- > > >> The contents of this e-mail message and any attachments are intended > solely for the addressee(s) named in this message. This communication is > intended to be and to remain confidential. If you are not the intended > recipient of this message, or if this message has been addressed to you in > error, please immediately alert the sender by reply e-mail and then delete > this message and its attachments. Do not deliver, distribute, copy, > disclose the contents or take any action in reliance upon the information > contained in the communication or any attachments. > > > > > > -------------------------------------------------------------------- > > > - To unsubscribe, e-mail: [email protected] > > > For additional commands, e-mail: [email protected] > > > > > > > > > -------------------------------------------------------------------- > > > - To unsubscribe, e-mail: [email protected] > > > For additional commands, e-mail: [email protected] > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > B KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK > > KCB [ X ܚX K K[XZ[ > > Y[ > > ]\ \ ][ X ܚX P ˘\ X K ܙ B ܈ Y ] [ۘ[ [X[ K[XZ[ > > Y[ > > ]\ \ Z [ ˘\ X K ܙ B B > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Cordialement. Philippe Mouawad.
