瀏覽代碼

HDFS-14836. FileIoProvider should not increase FileIoErrors metric in datanode volume metric. Contributed by Aiphago.

Reviewed-by: He Xiaoqiao <hexiaoqiao@apache.org>
Wei-Chiu Chuang 5 年之前
父節點
當前提交
5dd859a8a0

+ 4 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/FileIoProvider.java

@@ -279,7 +279,10 @@ public class FileIoProvider {
           waitTime, transferTime);
       profilingEventHook.afterFileIo(volume, TRANSFER, begin, count);
     } catch (Exception e) {
-      onFailure(volume, begin);
+      String em = e.getMessage();
+      if (!em.startsWith("Broken pipe") && !em.startsWith("Connection reset")) {
+        onFailure(volume, begin);
+      }
       throw e;
     }
   }