瀏覽代碼

HDFS-12744. More logs when short-circuit read is failed and disabled. Contributed by Weiwei Yang.

(cherry picked from commit 56b88b06705441f6f171eec7fb2fa77946ca204b)
(cherry picked from commit 0f20434e18cfedcc36c969cc2df25123153e0b99)
Weiwei Yang 7 年之前
父節點
當前提交
3555397179

+ 2 - 1
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/client/impl/BlockReaderFactory.java

@@ -646,7 +646,8 @@ public class BlockReaderFactory implements ShortCircuitReplicaCreator {
     default:
       LOG.warn(this + ": unknown response code " + resp.getStatus() +
           " while attempting to set up short-circuit access. " +
-          resp.getMessage());
+          resp.getMessage() + ". Disabling short-circuit read for DataNode "
+          + datanode + " temporarily.");
       clientContext.getDomainSocketFactory()
           .disableShortCircuitForPath(pathInfo.getPath());
       return null;

+ 2 - 0
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataXceiver.java

@@ -384,6 +384,8 @@ class DataXceiver extends Receiver implements Runnable {
       } catch (IOException e) {
         bld.setStatus(ERROR);
         bld.setMessage(e.getMessage());
+        LOG.error("Request short-circuit read file descriptor" +
+            " failed with unknown error.", e);
       }
       bld.build().writeDelimitedTo(socketOut);
       if (fis != null) {