Search in sources :

Example 11 with FsVolumeImpl

use of org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl in project hadoop by apache.

the class TestDirectoryScanner method createBlockFile.

/** Create a block file in a random volume*/
private long createBlockFile() throws IOException {
    long id = getFreeBlockId();
    try (FsDatasetSpi.FsVolumeReferences volumes = fds.getFsVolumeReferences()) {
        int numVolumes = volumes.size();
        int index = rand.nextInt(numVolumes - 1);
        File finalizedDir = ((FsVolumeImpl) volumes.get(index)).getFinalizedDir(bpid);
        File file = new File(finalizedDir, getBlockFile(id));
        if (file.createNewFile()) {
            LOG.info("Created block file " + file.getName());
        }
    }
    return id;
}
Also used : FsVolumeReferences(org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi.FsVolumeReferences) FsVolumeImpl(org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl) FsDatasetSpi(org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi) File(java.io.File)

Aggregations

FsVolumeImpl (org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl)11 FsDatasetSpi (org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi)9 File (java.io.File)4 IOException (java.io.IOException)4 DataNode (org.apache.hadoop.hdfs.server.datanode.DataNode)4 FsVolumeReferences (org.apache.hadoop.hdfs.server.datanode.fsdataset.FsDatasetSpi.FsVolumeReferences)4 Path (org.apache.hadoop.fs.Path)3 FsVolumeSpi (org.apache.hadoop.hdfs.server.datanode.fsdataset.FsVolumeSpi)3 Test (org.junit.Test)3 Random (java.util.Random)2 Configuration (org.apache.hadoop.conf.Configuration)2 FileSystem (org.apache.hadoop.fs.FileSystem)2 MiniDFSCluster (org.apache.hadoop.hdfs.MiniDFSCluster)2 DiskBalancerDataNode (org.apache.hadoop.hdfs.server.diskbalancer.datamodel.DiskBalancerDataNode)2 ArrayList (java.util.ArrayList)1 TimeoutException (java.util.concurrent.TimeoutException)1 StorageType (org.apache.hadoop.fs.StorageType)1 HdfsConfiguration (org.apache.hadoop.hdfs.HdfsConfiguration)1 SecureResources (org.apache.hadoop.hdfs.server.datanode.SecureDataNodeStarter.SecureResources)1 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)1