You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Janus Chow (Jira)" <ji...@apache.org> on 2021/12/02 08:06:00 UTC

[jira] [Created] (HDFS-16367) Out-sync of socket config between client and DataNode

Janus Chow created HDFS-16367:
---------------------------------

             Summary: Out-sync of socket config between client and DataNode
                 Key: HDFS-16367
                 URL: https://issues.apache.org/jira/browse/HDFS-16367
             Project: Hadoop HDFS
          Issue Type: Improvement
            Reporter: Janus Chow


We met an issue of timeout while clients writing data to datanodes. The root cause is the different "dfs.client.socket-timeout" config used by Clients and DataNode. 

Clients updated the config to 3m, DataNodes are using the default config of 1m. During the stage of "DATA_STREAMING" when writing pipelines, the client will send heartbeat packets with an interval of half of the timeout, that is 90seconds, but the socket timeout between the client and the first DataNode is 60seconds, then the client fails to write the content.

 

IMHO, the client config of "dfs.client.socket-timeout" is reasonable to be configured by clients themselves, thus in a cluster, we should allow the circumstances of different clients using different client configs.

If so, the problem is the out-sync of some configs between the client and DataNodes. After checking the code, I think the following 2 options would be feasible:
 # while the client is invoking writeBlock of DataTransferProtocol, we can transfer the config from client to DataNode, and DataXceiver should process and update the config. The drawback of this option is we may need to add arguments to other methods like "readBlock".
 # Add a new interface like "syncConfig" to DataTransferProtocol, then after each time the connection is created, we can invoke the method and do the config sync up.

Hope to get other options and ideas. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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