Repository: hadoop Updated Branches: refs/heads/HDFS-6581 b2d5ed36b -> 50b321068
HDFS-7108. Fix unit test failures in SimulatedFsDataset. (Arpit Agarwal) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/50b32106 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/50b32106 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/50b32106 Branch: refs/heads/HDFS-6581 Commit: 50b321068d32d404cc9b5d392f0e20d48cabbf2b Parents: b2d5ed3 Author: arp <a...@apache.org> Authored: Sat Sep 20 16:12:17 2014 -0700 Committer: arp <a...@apache.org> Committed: Sat Sep 20 16:12:17 2014 -0700 ---------------------------------------------------------------------- .../hadoop-hdfs/CHANGES-HDFS-6581.txt | 2 + .../server/datanode/SimulatedFSDataset.java | 60 +++++++++++++++++++- 2 files changed, 61 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/50b32106/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt index c7045c2..6675775 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES-HDFS-6581.txt @@ -62,4 +62,6 @@ HDFS-7100. Make eviction scheme pluggable. (Arpit Agarwal) + HDFS-7108. Fix unit test failures in SimulatedFsDataset. (Arpit Agarwal) + http://git-wip-us.apache.org/repos/asf/hadoop/blob/50b32106/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/SimulatedFSDataset.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/SimulatedFSDataset.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/SimulatedFSDataset.java index 312da1f..d1284fe 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/SimulatedFSDataset.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/SimulatedFSDataset.java @@ -420,9 +420,66 @@ public class SimulatedFSDataset implements FsDatasetSpi<FsVolumeSpi> { } } + static class SimulatedVolume implements FsVolumeSpi { + private final SimulatedStorage storage; + + SimulatedVolume(final SimulatedStorage storage) { + this.storage = storage; + } + + @Override + public String getStorageID() { + return storage.getStorageUuid(); + } + + @Override + public String[] getBlockPoolList() { + return new String[0]; + } + + @Override + public long getAvailable() throws IOException { + return storage.getCapacity() - storage.getUsed(); + } + + @Override + public String getBasePath() { + return null; + } + + @Override + public String getPath(String bpid) throws IOException { + return null; + } + + @Override + public File getFinalizedDir(String bpid) throws IOException { + return null; + } + + @Override + public StorageType getStorageType() { + return null; + } + + @Override + public boolean isTransientStorage() { + return false; + } + + @Override + public void reserveSpaceForRbw(long bytesToReserve) { + } + + @Override + public void releaseReservedSpace(long bytesToRelease) { + } + } + private final Map<String, Map<Block, BInfo>> blockMap = new HashMap<String, Map<Block,BInfo>>(); private final SimulatedStorage storage; + private final SimulatedVolume volume; private final String datanodeUuid; public SimulatedFSDataset(DataStorage storage, Configuration conf) { @@ -439,6 +496,7 @@ public class SimulatedFSDataset implements FsDatasetSpi<FsVolumeSpi> { this.storage = new SimulatedStorage( conf.getLong(CONFIG_PROPERTY_CAPACITY, DEFAULT_CAPACITY), conf.getEnum(CONFIG_PROPERTY_STATE, DEFAULT_STATE)); + this.volume = new SimulatedVolume(this.storage); } public synchronized void injectBlocks(String bpid, @@ -1138,7 +1196,7 @@ public class SimulatedFSDataset implements FsDatasetSpi<FsVolumeSpi> { @Override public FsVolumeSpi getVolume(ExtendedBlock b) { - throw new UnsupportedOperationException(); + return volume; } @Override