|
@@ -51,16 +51,18 @@ import org.apache.hadoop.hdfs.server.datanode.DataNodeTestUtils;
|
|
import org.apache.hadoop.hdfs.server.datanode.FinalizedReplica;
|
|
import org.apache.hadoop.hdfs.server.datanode.FinalizedReplica;
|
|
import org.apache.hadoop.hdfs.server.datanode.ReplicaBeingWritten;
|
|
import org.apache.hadoop.hdfs.server.datanode.ReplicaBeingWritten;
|
|
import org.apache.hadoop.hdfs.server.namenode.FSNamesystem;
|
|
import org.apache.hadoop.hdfs.server.namenode.FSNamesystem;
|
|
|
|
+import org.apache.hadoop.hdfs.server.namenode.INodeFile;
|
|
import org.apache.hadoop.hdfs.server.namenode.INodeId;
|
|
import org.apache.hadoop.hdfs.server.namenode.INodeId;
|
|
import org.apache.hadoop.hdfs.server.namenode.NameNodeAdapter;
|
|
import org.apache.hadoop.hdfs.server.namenode.NameNodeAdapter;
|
|
|
|
+import org.apache.hadoop.hdfs.server.namenode.TestINodeFile;
|
|
import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration;
|
|
import org.apache.hadoop.hdfs.server.protocol.DatanodeRegistration;
|
|
import org.apache.hadoop.hdfs.server.protocol.DatanodeStorage;
|
|
import org.apache.hadoop.hdfs.server.protocol.DatanodeStorage;
|
|
import org.apache.hadoop.hdfs.server.protocol.ReceivedDeletedBlockInfo;
|
|
import org.apache.hadoop.hdfs.server.protocol.ReceivedDeletedBlockInfo;
|
|
import org.apache.hadoop.hdfs.server.protocol.StorageReceivedDeletedBlocks;
|
|
import org.apache.hadoop.hdfs.server.protocol.StorageReceivedDeletedBlocks;
|
|
import org.apache.hadoop.ipc.RemoteException;
|
|
import org.apache.hadoop.ipc.RemoteException;
|
|
import org.apache.hadoop.net.NetworkTopology;
|
|
import org.apache.hadoop.net.NetworkTopology;
|
|
-import org.junit.Assert;
|
|
|
|
import org.apache.hadoop.test.GenericTestUtils;
|
|
import org.apache.hadoop.test.GenericTestUtils;
|
|
|
|
+import org.junit.Assert;
|
|
import org.junit.Before;
|
|
import org.junit.Before;
|
|
import org.junit.Test;
|
|
import org.junit.Test;
|
|
import org.mockito.Mockito;
|
|
import org.mockito.Mockito;
|
|
@@ -438,13 +440,12 @@ public class TestBlockManager {
|
|
|
|
|
|
private BlockInfo addBlockOnNodes(long blockId, List<DatanodeDescriptor> nodes) {
|
|
private BlockInfo addBlockOnNodes(long blockId, List<DatanodeDescriptor> nodes) {
|
|
long inodeId = ++mockINodeId;
|
|
long inodeId = ++mockINodeId;
|
|
- BlockCollection bc = Mockito.mock(BlockCollection.class);
|
|
|
|
- Mockito.doReturn(inodeId).when(bc).getId();
|
|
|
|
- Mockito.doReturn(bc).when(fsn).getBlockCollection(inodeId);
|
|
|
|
- BlockInfo blockInfo = blockOnNodes(blockId, nodes);
|
|
|
|
|
|
+ final INodeFile bc = TestINodeFile.createINodeFile(inodeId);
|
|
|
|
|
|
|
|
+ BlockInfo blockInfo = blockOnNodes(blockId, nodes);
|
|
blockInfo.setReplication((short) 3);
|
|
blockInfo.setReplication((short) 3);
|
|
blockInfo.setBlockCollectionId(inodeId);
|
|
blockInfo.setBlockCollectionId(inodeId);
|
|
|
|
+ Mockito.doReturn(bc).when(fsn).getBlockCollection(inodeId);
|
|
bm.blocksMap.addBlockCollection(blockInfo, bc);
|
|
bm.blocksMap.addBlockCollection(blockInfo, bc);
|
|
return blockInfo;
|
|
return blockInfo;
|
|
}
|
|
}
|
|
@@ -747,12 +748,11 @@ public class TestBlockManager {
|
|
|
|
|
|
private BlockInfo addBlockToBM(long blkId) {
|
|
private BlockInfo addBlockToBM(long blkId) {
|
|
Block block = new Block(blkId);
|
|
Block block = new Block(blkId);
|
|
- BlockInfo blockInfo =
|
|
|
|
- new BlockInfoContiguous(block, (short) 3);
|
|
|
|
- BlockCollection bc = Mockito.mock(BlockCollection.class);
|
|
|
|
|
|
+ BlockInfo blockInfo = new BlockInfoContiguous(block, (short) 3);
|
|
long inodeId = ++mockINodeId;
|
|
long inodeId = ++mockINodeId;
|
|
- doReturn(inodeId).when(bc).getId();
|
|
|
|
|
|
+ final INodeFile bc = TestINodeFile.createINodeFile(inodeId);
|
|
bm.blocksMap.addBlockCollection(blockInfo, bc);
|
|
bm.blocksMap.addBlockCollection(blockInfo, bc);
|
|
|
|
+ blockInfo.setBlockCollectionId(inodeId);
|
|
doReturn(bc).when(fsn).getBlockCollection(inodeId);
|
|
doReturn(bc).when(fsn).getBlockCollection(inodeId);
|
|
return blockInfo;
|
|
return blockInfo;
|
|
}
|
|
}
|
|
@@ -761,9 +761,9 @@ public class TestBlockManager {
|
|
Block block = new Block(blkId);
|
|
Block block = new Block(blkId);
|
|
BlockInfo blockInfo = new BlockInfoContiguous(block, (short) 3);
|
|
BlockInfo blockInfo = new BlockInfoContiguous(block, (short) 3);
|
|
blockInfo.convertToBlockUnderConstruction(UNDER_CONSTRUCTION, null);
|
|
blockInfo.convertToBlockUnderConstruction(UNDER_CONSTRUCTION, null);
|
|
- BlockCollection bc = Mockito.mock(BlockCollection.class);
|
|
|
|
long inodeId = ++mockINodeId;
|
|
long inodeId = ++mockINodeId;
|
|
- doReturn(inodeId).when(bc).getId();
|
|
|
|
|
|
+ final INodeFile bc = TestINodeFile.createINodeFile(inodeId);
|
|
|
|
+ blockInfo.setBlockCollectionId(inodeId);
|
|
bm.blocksMap.addBlockCollection(blockInfo, bc);
|
|
bm.blocksMap.addBlockCollection(blockInfo, bc);
|
|
doReturn(bc).when(fsn).getBlockCollection(inodeId);
|
|
doReturn(bc).when(fsn).getBlockCollection(inodeId);
|
|
return blockInfo;
|
|
return blockInfo;
|