[ https://issues.apache.org/jira/browse/HADOOP-8833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13460399#comment-13460399 ]
Hadoop QA commented on HADOOP-8833: ----------------------------------- +1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12546011/HADOOP-8833.patch against trunk revision . +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 1 new or modified test files. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 javadoc. The javadoc tool did not generate any warning messages. +1 eclipse:eclipse. The patch built with eclipse:eclipse. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed unit tests in hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1490//testReport/ Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1490//console This message is automatically generated. > fs -text should make sure to call inputstream.seek(0) before using input > stream > ------------------------------------------------------------------------------- > > Key: HADOOP-8833 > URL: https://issues.apache.org/jira/browse/HADOOP-8833 > Project: Hadoop Common > Issue Type: Bug > Components: fs > Affects Versions: 2.0.2-alpha > Reporter: Harsh J > Assignee: Harsh J > Attachments: HADOOP-8833.patch > > > From Muddy Dixon on HADOOP-8449: > Hi > We found the changes in order of switch and guard block in > {code} > private InputStream forMagic(Path p, FileSystem srcFs) throws IOException > {code} > Because of this change, return value of > {code} > codec.createInputStream(i) > {code} > is changed if codec exists. > {code} > private InputStream forMagic(Path p, FileSystem srcFs) throws IOException { > FSDataInputStream i = srcFs.open(p); > // check codecs > CompressionCodecFactory cf = new CompressionCodecFactory(getConf()); > CompressionCodec codec = cf.getCodec(p); > if (codec != null) { > return codec.createInputStream(i); > } > switch(i.readShort()) { > // cases > } > {code} > New: > {code} > private InputStream forMagic(Path p, FileSystem srcFs) throws IOException { > FSDataInputStream i = srcFs.open(p); > switch(i.readShort()) { // <=== index (or pointer) processes!! > // cases > default: { > // Check the type of compression instead, depending on Codec class's > // own detection methods, based on the provided path. > CompressionCodecFactory cf = new CompressionCodecFactory(getConf()); > CompressionCodec codec = cf.getCodec(p); > if (codec != null) { > return codec.createInputStream(i); > } > break; > } > } > // File is non-compressed, or not a file container we know. > i.seek(0); > return i; > } > {code} > Fix is to use i.seek(0) before we use i anywhere. I missed that. -- 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