From dc1de9f762d8a980e9826144225d5beccb8e8cc8 Mon Sep 17 00:00:00 2001 From: LiuGuH <444506464@qq.com> Date: Thu, 10 Jul 2025 20:47:04 +0800 Subject: [PATCH] HDFS-17806. Increase dfs.checksum.ec.socket-timeout --- .../main/java/org/apache/hadoop/hdfs/FileChecksumHelper.java | 5 +++-- .../org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java | 2 +- .../hadoop-hdfs/src/main/resources/hdfs-default.xml | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/FileChecksumHelper.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/FileChecksumHelper.java index 21bc885358076..2aa8315e58948 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/FileChecksumHelper.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/FileChecksumHelper.java @@ -613,8 +613,9 @@ static class StripedFileNonStripedChecksumComputer @Override void checksumBlocks() throws IOException { - int tmpTimeout = getClient().getConf().getChecksumEcSocketTimeout() * 1 + - getClient().getConf().getSocketTimeout(); + int tmpTimeout = + getClient().getConf().getChecksumEcSocketTimeout() * ecPolicy.getNumDataUnits() + + getClient().getConf().getSocketTimeout(); setTimeout(tmpTimeout); for (bgIdx = 0; diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java index 2044530506757..72ffc98cd87f2 100755 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/HdfsClientConfigKeys.java @@ -136,7 +136,7 @@ public interface HdfsClientConfigKeys { String DFS_CHECKSUM_COMBINE_MODE_KEY = "dfs.checksum.combine.mode"; String DFS_CHECKSUM_COMBINE_MODE_DEFAULT = "MD5MD5CRC"; String DFS_CHECKSUM_EC_SOCKET_TIMEOUT_KEY = "dfs.checksum.ec.socket-timeout"; - int DFS_CHECKSUM_EC_SOCKET_TIMEOUT_DEFAULT = 3000; + int DFS_CHECKSUM_EC_SOCKET_TIMEOUT_DEFAULT = 30000; String DFS_DATANODE_SOCKET_WRITE_TIMEOUT_KEY = "dfs.datanode.socket.write.timeout"; String DFS_CLIENT_DOMAIN_SOCKET_DATA_TRAFFIC = diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml index 41dfbbca443fe..6a55e8e1ad517 100755 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml @@ -4465,7 +4465,7 @@ dfs.checksum.ec.socket-timeout - 3000 + 30000 Default timeout value in milliseconds for computing the checksum of striped blocks. Recommended to set the same value between client and DNs in a cluster because mismatching