|
@@ -20,6 +20,7 @@ package org.apache.hadoop.yarn.server.nodemanager;
|
|
|
|
|
|
import static org.apache.hadoop.fs.CreateFlag.CREATE;
|
|
|
import static org.apache.hadoop.fs.CreateFlag.OVERWRITE;
|
|
|
+import static org.junit.Assert.assertEquals;
|
|
|
import static org.junit.Assert.assertTrue;
|
|
|
import static org.mockito.Matchers.any;
|
|
|
import static org.mockito.Matchers.anyBoolean;
|
|
@@ -485,6 +486,38 @@ public class TestDefaultContainerExecutor {
|
|
|
verify(mockLfs, times(2)).getFsStatus(any(Path.class));
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void testPickDirectory() throws Exception {
|
|
|
+ Configuration conf = new Configuration();
|
|
|
+ FileContext lfs = FileContext.getLocalFSFileContext(conf);
|
|
|
+ DefaultContainerExecutor executor = new DefaultContainerExecutor(lfs);
|
|
|
+
|
|
|
+ long[] availableOnDisk = new long[2];
|
|
|
+ availableOnDisk[0] = 100;
|
|
|
+ availableOnDisk[1] = 100;
|
|
|
+ assertEquals(0, executor.pickDirectory(0L, availableOnDisk));
|
|
|
+ assertEquals(0, executor.pickDirectory(99L, availableOnDisk));
|
|
|
+ assertEquals(1, executor.pickDirectory(100L, availableOnDisk));
|
|
|
+ assertEquals(1, executor.pickDirectory(101L, availableOnDisk));
|
|
|
+ assertEquals(1, executor.pickDirectory(199L, availableOnDisk));
|
|
|
+
|
|
|
+ long[] availableOnDisk2 = new long[5];
|
|
|
+ availableOnDisk2[0] = 100;
|
|
|
+ availableOnDisk2[1] = 10;
|
|
|
+ availableOnDisk2[2] = 400;
|
|
|
+ availableOnDisk2[3] = 200;
|
|
|
+ availableOnDisk2[4] = 350;
|
|
|
+ assertEquals(0, executor.pickDirectory(0L, availableOnDisk2));
|
|
|
+ assertEquals(0, executor.pickDirectory(99L, availableOnDisk2));
|
|
|
+ assertEquals(1, executor.pickDirectory(100L, availableOnDisk2));
|
|
|
+ assertEquals(1, executor.pickDirectory(105L, availableOnDisk2));
|
|
|
+ assertEquals(2, executor.pickDirectory(110L, availableOnDisk2));
|
|
|
+ assertEquals(2, executor.pickDirectory(259L, availableOnDisk2));
|
|
|
+ assertEquals(3, executor.pickDirectory(700L, availableOnDisk2));
|
|
|
+ assertEquals(4, executor.pickDirectory(710L, availableOnDisk2));
|
|
|
+ assertEquals(4, executor.pickDirectory(910L, availableOnDisk2));
|
|
|
+ }
|
|
|
+
|
|
|
// @Test
|
|
|
// public void testInit() throws IOException, InterruptedException {
|
|
|
// Configuration conf = new Configuration();
|