diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NMLivelinessMonitor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NMLivelinessMonitor.java index e797afb..50ed559 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NMLivelinessMonitor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/NMLivelinessMonitor.java @@ -31,13 +31,14 @@ public class NMLivelinessMonitor extends AbstractLivelinessMonitor { - private EventHandler dispatcher; + private final EventHandler dispatcher; public NMLivelinessMonitor(Dispatcher d) { super("NMLivelinessMonitor", new SystemClock()); this.dispatcher = d.getEventHandler(); } + @Override public void serviceInit(Configuration conf) throws Exception { int expireIntvl = conf.getInt(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS, YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS); @@ -48,7 +49,6 @@ public void serviceInit(Configuration conf) throws Exception { @Override protected void expire(NodeId id) { - dispatcher.handle( - new RMNodeEvent(id, RMNodeEventType.EXPIRE)); + dispatcher.handle(new RMNodeEvent(id, RMNodeEventType.EXPIRE)); } -} \ No newline at end of file +} diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/AMLivelinessMonitor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/AMLivelinessMonitor.java index cccf3c0..e52bccb 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/AMLivelinessMonitor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/AMLivelinessMonitor.java @@ -30,7 +30,7 @@ public class AMLivelinessMonitor extends AbstractLivelinessMonitor { - private EventHandler dispatcher; + private final EventHandler dispatcher; public AMLivelinessMonitor(Dispatcher d) { super("AMLivelinessMonitor", new SystemClock()); @@ -42,6 +42,7 @@ public AMLivelinessMonitor(Dispatcher d, Clock clock) { this.dispatcher = d.getEventHandler(); } + @Override public void serviceInit(Configuration conf) throws Exception { super.serviceInit(conf); int expireIntvl = conf.getInt(YarnConfiguration.RM_AM_EXPIRY_INTERVAL_MS, @@ -52,7 +53,6 @@ public void serviceInit(Configuration conf) throws Exception { @Override protected void expire(ApplicationAttemptId id) { - dispatcher.handle( - new RMAppAttemptEvent(id, RMAppAttemptEventType.EXPIRE)); + dispatcher.handle(new RMAppAttemptEvent(id, RMAppAttemptEventType.EXPIRE)); } -} \ No newline at end of file +} diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java index 160ba4b..bd4ebdd 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/SchedulingPolicy.java @@ -75,7 +75,7 @@ public static SchedulingPolicy getInstance(Class cla public static SchedulingPolicy parse(String policy) throws AllocationConfigurationException { @SuppressWarnings("rawtypes") - Class clazz; + Class clazz; String text = StringUtils.toLowerCase(policy); if (text.equalsIgnoreCase(FairSharePolicy.NAME)) { clazz = FairSharePolicy.class; @@ -85,10 +85,13 @@ public static SchedulingPolicy parse(String policy) clazz = DominantResourceFairnessPolicy.class; } else { try { - clazz = Class.forName(policy); + clazz = Class.forName(policy).asSubclass(SchedulingPolicy.class); } catch (ClassNotFoundException cnfe) { throw new AllocationConfigurationException(policy + " SchedulingPolicy class not found!"); + } catch (ClassCastException cce) { + throw new AllocationConfigurationException(policy + + " is not an instance of SchedulingPolicy!"); } } if (!SchedulingPolicy.class.isAssignableFrom(clazz)) { diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java index cd84208..ae21265 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java @@ -22,7 +22,6 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.timeout; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -115,12 +114,13 @@ import org.junit.Test; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; +import java.util.Collections; public class TestRMRestart extends ParameterizedSchedulerTestBase { private final static File TEMP_DIR = new File(System.getProperty( "test.build.data", "/tmp"), "decommision"); - private File hostFile = new File(TEMP_DIR + File.separator + "hostFile.txt"); + private final File hostFile = + new File(TEMP_DIR + File.separator + "hostFile.txt"); private YarnConfiguration conf; // Fake rmAddr for token-renewal @@ -2121,14 +2121,16 @@ protected RMNodeLabelsManager createNodeLabelManager() { // Add node Label to Node h1->x NodeId n1 = NodeId.newInstance("h1", 0); - nodeLabelManager.addLabelsToNode(ImmutableMap.of(n1, toSet("x"))); + nodeLabelManager.addLabelsToNode(ImmutableMap.of(n1, + Collections.singleton("x"))); clusterNodeLabels.remove("z"); // Remove cluster label z - nodeLabelManager.removeFromClusterNodeLabels(toSet("z")); + nodeLabelManager.removeFromClusterNodeLabels(Collections.singleton("z")); // Replace nodelabel h1->x,y - nodeLabelManager.replaceLabelsOnNode(ImmutableMap.of(n1, toSet("y"))); + nodeLabelManager.replaceLabelsOnNode(ImmutableMap.of(n1, + Collections.singleton("y"))); // Wait for updating store.It is expected NodeStore update should happen // very fast since it has separate dispatcher. So waiting for max 5 seconds, @@ -2146,7 +2148,8 @@ protected RMNodeLabelsManager createNodeLabelManager() { Map> nodeLabels = nodeLabelManager.getNodeLabels(); Assert.assertEquals(1, nodeLabelManager.getNodeLabels().size()); - Assert.assertTrue(nodeLabels.get(n1).equals(toSet("y"))); + Assert.assertEquals("Node does not have expected label", + Collections.singleton("y"), nodeLabels.get(n1)); MockRM rm2 = new MockRM(conf, memStore) { @Override @@ -2165,7 +2168,8 @@ protected RMNodeLabelsManager createNodeLabelManager() { nodeLabels = nodeLabelManager.getNodeLabels(); Assert.assertEquals(1, nodeLabelManager.getNodeLabels().size()); - Assert.assertTrue(nodeLabels.get(n1).equals(toSet("y"))); + Assert.assertEquals("Node does not have expected label", + Collections.singleton("y"), nodeLabels.get(n1)); rm1.stop(); rm2.stop(); } @@ -2231,10 +2235,4 @@ public void testRMRestartFailAppAttempt() throws Exception { rm2.waitForState(applicationId, RMAppState.FAILED); Assert.assertEquals(maxAttempt, loadedApp0.getAppAttempts().size()); } - - private Set toSet(E... elements) { - Set set = Sets.newHashSet(elements); - return set; - } - } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestCapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestCapacityScheduler.java index f0a1d03..ccc8546 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestCapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestCapacityScheduler.java @@ -157,13 +157,13 @@ private static final String B1 = B + ".b1"; private static final String B2 = B + ".b2"; private static final String B3 = B + ".b3"; - private static float A_CAPACITY = 10.5f; - private static float B_CAPACITY = 89.5f; - private static float A1_CAPACITY = 30; - private static float A2_CAPACITY = 70; - private static float B1_CAPACITY = 79.2f; - private static float B2_CAPACITY = 0.8f; - private static float B3_CAPACITY = 20; + private static final float A_CAPACITY = 10.5f; + private static final float B_CAPACITY = 89.5f; + private static final float A1_CAPACITY = 30; + private static final float A2_CAPACITY = 70; + private static final float B1_CAPACITY = 79.2f; + private static final float B2_CAPACITY = 0.8f; + private static final float B3_CAPACITY = 20; private ResourceManager resourceManager = null; private RMContext mockContext; @@ -703,7 +703,7 @@ public void testAllocateReorder() throws Exception { LeafQueue q = (LeafQueue) cs.getQueue("default"); Assert.assertNotNull(q); - FairOrderingPolicy fop = new FairOrderingPolicy(); + FairOrderingPolicy fop = new FairOrderingPolicy<>(); fop.setSizeBasedWeight(true); q.setOrderingPolicy(fop);