HDFS-7108. Fix unit test failures in SimulatedFsDataset. (Arpit Agarwal)

This commit is contained in:
arp 2014-09-20 16:12:17 -07:00
parent b2d5ed36bc
commit 50b321068d
2 changed files with 61 additions and 1 deletions

View File

@ -62,4 +62,6 @@
HDFS-7100. Make eviction scheme pluggable. (Arpit Agarwal)
HDFS-7108. Fix unit test failures in SimulatedFsDataset. (Arpit Agarwal)

View File

@ -420,9 +420,66 @@ false, getCapacity(), getUsed(), getFree(),
}
}
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 SimulatedFSDataset(DataStorage storage, Configuration conf) {
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 RollingLogs createRollingLogs(String bpid, String prefix) {
@Override
public FsVolumeSpi getVolume(ExtendedBlock b) {
throw new UnsupportedOperationException();
return volume;
}
@Override