HDFS-6238. Merging change r1587148 from trunk to branch-2.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1587150 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
750664ebc1
commit
f3039d3640
|
@ -91,6 +91,8 @@ Release 2.5.0 - UNRELEASED
|
||||||
HDFS-6237. TestDFSShell#testGet fails on Windows due to invalid file system
|
HDFS-6237. TestDFSShell#testGet fails on Windows due to invalid file system
|
||||||
path. (cnauroth)
|
path. (cnauroth)
|
||||||
|
|
||||||
|
HDFS-6238. TestDirectoryScanner leaks file descriptors. (cnauroth)
|
||||||
|
|
||||||
Release 2.4.1 - UNRELEASED
|
Release 2.4.1 - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -46,6 +46,7 @@ import org.apache.hadoop.hdfs.server.common.GenerationStamp;
|
||||||
import org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi;
|
import org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi;
|
||||||
import org.apache.hadoop.hdfs.server.datanode.fsdataset.FsVolumeSpi;
|
import org.apache.hadoop.hdfs.server.datanode.fsdataset.FsVolumeSpi;
|
||||||
import org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetTestUtil;
|
import org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetTestUtil;
|
||||||
|
import org.apache.hadoop.io.IOUtils;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -85,11 +86,17 @@ public class TestDirectoryScanner {
|
||||||
File mf = b.getMetaFile();
|
File mf = b.getMetaFile();
|
||||||
// Truncate a block file that has a corresponding metadata file
|
// Truncate a block file that has a corresponding metadata file
|
||||||
if (f.exists() && f.length() != 0 && mf.exists()) {
|
if (f.exists() && f.length() != 0 && mf.exists()) {
|
||||||
FileOutputStream s = new FileOutputStream(f);
|
FileOutputStream s = null;
|
||||||
FileChannel channel = s.getChannel();
|
FileChannel channel = null;
|
||||||
|
try {
|
||||||
|
s = new FileOutputStream(f);
|
||||||
|
channel = s.getChannel();
|
||||||
channel.truncate(0);
|
channel.truncate(0);
|
||||||
LOG.info("Truncated block file " + f.getAbsolutePath());
|
LOG.info("Truncated block file " + f.getAbsolutePath());
|
||||||
return b.getBlockId();
|
return b.getBlockId();
|
||||||
|
} finally {
|
||||||
|
IOUtils.cleanup(LOG, channel, s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue