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] [Commented] (HTTPCORE-377) Allow to enable SO_LINGER option with zero timeout
Date Tue, 22 Apr 2014 13:46:16 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13976773#comment-13976773
] 

Dmitry Potapov commented on HTTPCORE-377:
-----------------------------------------

My problem is not with linger itself. My problem is that HttpClient spend too much time under
lock in AbstractConnPool.getPoolEntryBlocking() while closing expired sockets. You suggestion
with BHttpConnectionBase#shutdown() is applicable if CPoolEntry call HttpClientConnection#shutdown()
instead of #close(). It is up to you which solution is better, but as for me enabling zero
linger seems to be much more elegant solution with much less effort.

> Allow to enable SO_LINGER option with zero timeout
> --------------------------------------------------
>
>                 Key: HTTPCORE-377
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-377
>             Project: HttpComponents HttpCore
>          Issue Type: Improvement
>          Components: HttpCore, HttpCore NIO
>    Affects Versions: 4.3.2
>            Reporter: Dmitry Potapov
>            Priority: Minor
>         Attachments: httpcore-enable-linger.patch
>
>
> According to http://docs.oracle.com/javase/8/docs/api/java/net/StandardSocketOptions.html#SO_LINGER
linger option is disabled by default. Currently if SocketConfig.soLinger is set to zero (default
value is -1), then Socket.setSoLinger(false, 0) will be called, so linger will be disabled,
which is undesirable. My suggestion is interpret zero soLinger value as Socket.setSoLinger(true,
0).
> I understand that this change will break backward compatibility of config interpretation,
but can we have this in 4.4?



--
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