[
https://issues.apache.org/jira/browse/HDFS-9805?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15238224#comment-15238224
]
Colin Patrick McCabe commented on HDFS-9805:
--------------------------------------------
Good point. For consistency's sake, we should have a
{{dfs.data.transfer.server.tcpnodelay}} configuration matching
{{dfs.data.transfer.client.tcpnodelay}}. In general, "IPC" configuration keys
in Hadoop tend to refer to Hadoop RPC v9 endpoints, even though technically
DataTransferProtocol is also a form of IPC (inter-process communication).
bq. I don't want to introduce another config, but since these changes all seem
to be on the data transfer side, that seems consistent.
I think it's OK.
Can we add a unit test that ensures that TCP_NODELAY is set or cleared, as the
configuration key dictates? Otherwise we may run into a regression here where
the setting gets lost.
> TCP_NODELAY not set before SASL handshake in data transfer pipeline
> -------------------------------------------------------------------
>
> Key: HDFS-9805
> URL: https://issues.apache.org/jira/browse/HDFS-9805
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Reporter: Gary Helmling
> Assignee: Gary Helmling
> Attachments: HDFS-9805.002.patch, HDFS-9805.003.patch
>
>
> There are a few places in the DN -> DN block transfer pipeline where
> TCP_NODELAY is not set before doing a SASL handshake:
> * in {{DataNode.DataTransfer::run()}}
> * in {{DataXceiver::replaceBlock()}}
> * in {{DataXceiver::writeBlock()}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)