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 a451d42..37c3f2a 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 @@ -30,13 +30,14 @@ public class NMLivelinessMonitor extends AbstractLivelinessMonitor { - private EventHandler dispatcher; + private final EventHandler dispatcher; public NMLivelinessMonitor(Dispatcher d) { super("NMLivelinessMonitor"); 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); @@ -47,7 +48,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 7006e50..62f49a9 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 @@ -29,7 +29,7 @@ public class AMLivelinessMonitor extends AbstractLivelinessMonitor { - private EventHandler dispatcher; + private final EventHandler dispatcher; public AMLivelinessMonitor(Dispatcher d) { super("AMLivelinessMonitor"); @@ -41,6 +41,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, @@ -51,7 +52,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/TestClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java index c9f0c2c..6ec472f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java @@ -943,6 +943,7 @@ private void mockRMContext(YarnScheduler yarnScheduler, RMContext rmContext) throws IOException { Dispatcher dispatcher = mock(Dispatcher.class); when(rmContext.getDispatcher()).thenReturn(dispatcher); + @SuppressWarnings("unchecked") EventHandler eventHandler = mock(EventHandler.class); when(dispatcher.getEventHandler()).thenReturn(eventHandler); QueueInfo queInfo = recordFactory.newRecordInstance(QueueInfo.class); 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 d2b8eee..af15a56 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 @@ -118,12 +118,13 @@ import com.google.common.base.Supplier; 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 @@ -2140,14 +2141,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, @@ -2165,7 +2168,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 @@ -2184,7 +2188,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(); } @@ -2250,10 +2255,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 7c95cdc..9102d95 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 @@ -167,12 +167,12 @@ 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 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 float B3_CAPACITY = 20; private ResourceManager resourceManager = null; @@ -713,7 +713,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);