Amareshwari Sriramadasu created HDFS-3965:
---------------------------------------------
Summary: DFSInputStream should not eat up exceptions if file is
under construction
Key: HDFS-3965
URL: https://issues.apache.org/jira/browse/HDFS-3965
Project: Hadoop HDFS
Issue Type: Bug
Components: hdfs client
Affects Versions: 1.0.3
Reporter: Amareshwari Sriramadasu
Currently DFSclient eats up exceptions if it could not open the file under
construction:
1881 try {
1882 primary = createClientDatanodeProtocolProxy(primaryNode, conf,
1883 last.getBlock(), last.getBlockToken(), socketTimeout);
1884 Block newBlock = primary.getBlockInfo(last.getBlock());
1885 long newBlockSize = newBlock.getNumBytes();
1886 long delta = newBlockSize - last.getBlockSize();
1887 // if the size of the block on the datanode is different
1888 // from what the NN knows about, the datanode wins!
1889 last.getBlock().setNumBytes(newBlockSize);
1890 long newlength = newInfo.getFileLength() + delta;
1891 newInfo.setFileLength(newlength);
1892 LOG.debug("DFSClient setting last block " + last + " to length "
1893 + newBlockSize + " filesize is now " +
newInfo.getFileLength());
1894 } catch (IOException e) {
1895 if (e.getMessage().startsWith(
1896 "java.io.IOException: java.lang.NoSuchMethodException: "
1897 + "org.apache.hadoop.hdfs.protocol"
1898 + ".ClientDatanodeProtocol.getBlockInfo")) {
1899 // We're talking to a server that doesn't implement HDFS-200.
1900 serverSupportsHdfs200 = false;
1901 } else {
1902 LOG.debug("DFSClient file " + src
1903 + " is being concurrently append to" + " but datanode "
1904 + primaryNode.getHostName() + " probably does not have block
"
1905 + last.getBlock());
1906 }
1907 }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira