[
https://issues.apache.org/jira/browse/HDFS-10326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15258592#comment-15258592
]
Colin Patrick McCabe commented on HDFS-10326:
---------------------------------------------
bq. Some system may not support auto tuning, defaulting to a small window size
(say 64k? which may make the scenario worse).
Can you give a concrete example of a system where Hadoop is actually deployed
which doesn't support auto-tuning?
bq. I'd suggest we keep the configuration. Or maybe add another one, say
dfs.socket.detect-auto-turning. When this is set to true (maybe turned on by
default), socket buffer behavior depends on whether OS supports auto-tuning. If
auto-tuning is not supported, use configured value automatically.
Hmm. As far as I know, there is no way to detect auto-tuning. If there is,
then we wouldn't need a new configuration... we could just set the appropriate
value when no configuration was given.
> Disable setting tcp socket send/receive buffers for write pipelines
> -------------------------------------------------------------------
>
> Key: HDFS-10326
> URL: https://issues.apache.org/jira/browse/HDFS-10326
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: datanode, hdfs
> Affects Versions: 2.6.0
> Reporter: Daryn Sharp
> Assignee: Daryn Sharp
>
> The DataStreamer and the Datanode use a hardcoded
> DEFAULT_DATA_SOCKET_SIZE=128K for the send and receive buffers of a write
> pipeline. Explicitly setting tcp buffer sizes disables tcp stack
> auto-tuning.
> The hardcoded value will saturate a 1Gb with 1ms RTT. 105Mbs at 10ms.
> Paltry 11Mbs over a 100ms long haul. 10Gb networks are underutilized.
> There should either be a configuration to completely disable setting the
> buffers, or the the setReceiveBuffer and setSendBuffer should be removed
> entirely.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)