HDFS-15694. Avoid calling UpdateHeartBeatState inside DataNodeDescriptor. (#2487) Contributed by Kuhu Shukla and Ahmed Hussein
This commit is contained in:
parent
6a1d7d9ed2
commit
918ba9e82f
@ -237,7 +237,8 @@ public Type getType() {
|
|||||||
*/
|
*/
|
||||||
public DatanodeDescriptor(DatanodeID nodeID) {
|
public DatanodeDescriptor(DatanodeID nodeID) {
|
||||||
super(nodeID);
|
super(nodeID);
|
||||||
updateHeartbeatState(StorageReport.EMPTY_ARRAY, 0L, 0L, 0, 0, null);
|
setLastUpdate(Time.now());
|
||||||
|
setLastUpdateMonotonic(Time.monotonicNow());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -248,7 +249,8 @@ public DatanodeDescriptor(DatanodeID nodeID) {
|
|||||||
public DatanodeDescriptor(DatanodeID nodeID,
|
public DatanodeDescriptor(DatanodeID nodeID,
|
||||||
String networkLocation) {
|
String networkLocation) {
|
||||||
super(nodeID, networkLocation);
|
super(nodeID, networkLocation);
|
||||||
updateHeartbeatState(StorageReport.EMPTY_ARRAY, 0L, 0L, 0, 0, null);
|
setLastUpdate(Time.now());
|
||||||
|
setLastUpdateMonotonic(Time.monotonicNow());
|
||||||
}
|
}
|
||||||
|
|
||||||
public CachedBlocksList getPendingCached() {
|
public CachedBlocksList getPendingCached() {
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertNotEquals;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -63,16 +64,16 @@ public void testBlocksCounter() throws Exception {
|
|||||||
DatanodeStorageInfo[] storages = dd.getStorageInfos();
|
DatanodeStorageInfo[] storages = dd.getStorageInfos();
|
||||||
assertTrue(storages.length > 0);
|
assertTrue(storages.length > 0);
|
||||||
// add first block
|
// add first block
|
||||||
assertTrue(storages[0].addBlock(blk) == AddBlockResult.ADDED);
|
assertEquals(AddBlockResult.ADDED, storages[0].addBlock(blk));
|
||||||
assertEquals(1, dd.numBlocks());
|
assertEquals(1, dd.numBlocks());
|
||||||
// remove a non-existent block
|
// remove a non-existent block
|
||||||
assertFalse(BlocksMap.removeBlock(dd, blk1));
|
assertFalse(BlocksMap.removeBlock(dd, blk1));
|
||||||
assertEquals(1, dd.numBlocks());
|
assertEquals(1, dd.numBlocks());
|
||||||
// add an existent block
|
// add an existent block
|
||||||
assertFalse(storages[0].addBlock(blk) == AddBlockResult.ADDED);
|
assertNotEquals(AddBlockResult.ADDED, storages[0].addBlock(blk));
|
||||||
assertEquals(1, dd.numBlocks());
|
assertEquals(1, dd.numBlocks());
|
||||||
// add second block
|
// add second block
|
||||||
assertTrue(storages[0].addBlock(blk1) == AddBlockResult.ADDED);
|
assertEquals(AddBlockResult.ADDED, storages[0].addBlock(blk1));
|
||||||
assertEquals(2, dd.numBlocks());
|
assertEquals(2, dd.numBlocks());
|
||||||
// remove first block
|
// remove first block
|
||||||
assertTrue(BlocksMap.removeBlock(dd, blk));
|
assertTrue(BlocksMap.removeBlock(dd, blk));
|
||||||
|
Loading…
Reference in New Issue
Block a user