dfs.datanode.socket.write.timeout is used for sockets to and from datanodes. It is 8 minutes by default. Some users set this to 0, effectively disabling the write timeout (for some specific reasons).
When this is set to 0, DFSClient sets the timeout to 5 seconds by mistake while writing to DataNodes. This is exactly the opposite of real intention of setting it to 0 since 5 seconds is too short.