hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitry Potapov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HTTPCORE-379) HttpAsyncService.exception(...) should shutdown connection on IOException
Date Sun, 27 Apr 2014 13:57:17 GMT

     [ https://issues.apache.org/jira/browse/HTTPCORE-379?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dmitry Potapov updated HTTPCORE-379:
------------------------------------

    Attachment: NHttpServer.java

Attached file illustrates the problem. It is a modified async server example from hc.apache.org,
but the file handler replaced with basic /ping handler, and HttpAsyncService.exception() overloaded
to log exceptions occured.
After launching this server, I'm starting apache benchmark:
/usr/sbin/ab -k -c 30 -n 10000 localhost:8080/ping

After all request completed, I observe that server continues exception logging, and this becomes
infinite process.

> HttpAsyncService.exception(...) should shutdown connection on IOException
> -------------------------------------------------------------------------
>
>                 Key: HTTPCORE-379
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-379
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.3.2
>            Reporter: Dmitry Potapov
>            Priority: Minor
>         Attachments: NHttpServer.java
>
>
> Currently, HttpAsyncService.exception(...) closes connection if response is already submitted.
On TCP RST packet received all futher attempts to write into socket will result in IOException,
but SelectionKey.readyOps() won't be changed. So, if connection output buffer has some unsent
data, BaseIOReactor.writable() will be called again and again, but no data will be written,
so reactor thread will stuck.
> I suggest to shutdown connection if IOException occured, this will save from infinite
calls to BaseIOReactor.writable()



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message