Rajesh Kartha created HDFS-8738: ----------------------------------- Summary: Limit Exceptions thrown by DataNode when a client makes socket connection and sends an empty message Key: HDFS-8738 URL: https://issues.apache.org/jira/browse/HDFS-8738 Project: Hadoop HDFS Issue Type: Bug Components: datanode Affects Versions: 2.7.1 Reporter: Rajesh Kartha Priority: Minor
When a client creates a socket connection to the Datanode and sends an empty message, the datanode logs have exceptions like these: 2015-07-08 20:00:55,427 ERROR datanode.DataNode (DataXceiver.java:run(278)) - bidev17.rtp.ibm.com:50010:DataXceiver error processing unknown operation src: /127.0.0.1:41508 dst: /127.0.0.1:50010 java.io.EOFException at java.io.DataInputStream.readShort(DataInputStream.java:315) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.readOp(Receiver.java:58) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:227) at java.lang.Thread.run(Thread.java:745) 2015-07-08 20:00:56,671 ERROR datanode.DataNode (DataXceiver.java:run(278)) - bidev17.rtp.ibm.com:50010:DataXceiver error processing unknown operation src: /127.0.0.1:41509 dst: /127.0.0.1:50010 java.io.EOFException at java.io.DataInputStream.readShort(DataInputStream.java:315) at org.apache.hadoop.hdfs.protocol.datatransfer.Receiver.readOp(Receiver.java:58) at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:227) at java.lang.Thread.run(Thread.java:745) These can fill up the logs and was recently noticed with an Ambari 2.1 based install which tries to check if the datanode is up. Can be easily reproduced with a simple Java client creating a Socket connection: public static void main(String[] args) { Socket DNClient; try { DNClient = new Socket("127.0.0.1", 50010); DataOutputStream os= new DataOutputStream(DNClient.getOutputStream()); os.writeBytes(""); os.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } -- This message was sent by Atlassian JIRA (v6.3.4#6332)