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

Reply via email to