YARN-10006. IOException used in place of YARNException in CapaitySheduler
Contributed by Adam Antal. Reviewed by Szilard Nemeth.
This commit is contained in:
parent
18059acb6a
commit
e575df5ca6
@ -323,7 +323,7 @@ public class CapacityScheduler extends
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void initScheduler(Configuration configuration) throws
|
void initScheduler(Configuration configuration) throws
|
||||||
IOException {
|
IOException, YarnException {
|
||||||
writeLock.lock();
|
writeLock.lock();
|
||||||
try {
|
try {
|
||||||
String confProviderStr = configuration.get(
|
String confProviderStr = configuration.get(
|
||||||
@ -768,16 +768,19 @@ public class CapacityScheduler extends
|
|||||||
|
|
||||||
@Lock(CapacityScheduler.class)
|
@Lock(CapacityScheduler.class)
|
||||||
private void initializeQueues(CapacitySchedulerConfiguration conf)
|
private void initializeQueues(CapacitySchedulerConfiguration conf)
|
||||||
throws IOException {
|
throws YarnException {
|
||||||
|
try {
|
||||||
|
this.queueManager.initializeQueues(conf);
|
||||||
|
|
||||||
this.queueManager.initializeQueues(conf);
|
updatePlacementRules();
|
||||||
|
|
||||||
updatePlacementRules();
|
this.workflowPriorityMappingsMgr.initialize(this);
|
||||||
|
|
||||||
this.workflowPriorityMappingsMgr.initialize(this);
|
// Notify Preemption Manager
|
||||||
|
preemptionManager.refreshQueues(null, this.getRootQueue());
|
||||||
// Notify Preemption Manager
|
} catch (Exception e) {
|
||||||
preemptionManager.refreshQueues(null, this.getRootQueue());
|
throw new YarnException("Failed to initialize queues", e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Lock(CapacityScheduler.class)
|
@Lock(CapacityScheduler.class)
|
||||||
|
@ -53,6 +53,7 @@ import java.util.concurrent.BrokenBarrierException;
|
|||||||
import java.util.concurrent.CyclicBarrier;
|
import java.util.concurrent.CyclicBarrier;
|
||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
import org.apache.hadoop.service.ServiceStateException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
@ -5409,9 +5410,10 @@ public class TestCapacityScheduler extends CapacitySchedulerTestBase {
|
|||||||
try {
|
try {
|
||||||
setUpCSQueue(maxLifetime, defaultLifetime);
|
setUpCSQueue(maxLifetime, defaultLifetime);
|
||||||
Assert.fail("Expected to fails since maxLifetime < defaultLifetime.");
|
Assert.fail("Expected to fails since maxLifetime < defaultLifetime.");
|
||||||
} catch (YarnRuntimeException ye) {
|
} catch (ServiceStateException sse) {
|
||||||
|
Throwable rootCause = sse.getCause().getCause();
|
||||||
Assert.assertTrue(
|
Assert.assertTrue(
|
||||||
ye.getMessage().contains("can't exceed maximum lifetime"));
|
rootCause.getMessage().contains("can't exceed maximum lifetime"));
|
||||||
}
|
}
|
||||||
|
|
||||||
maxLifetime = -1;
|
maxLifetime = -1;
|
||||||
|
@ -27,6 +27,7 @@ import org.slf4j.Logger;
|
|||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.apache.hadoop.io.IOUtils;
|
import org.apache.hadoop.io.IOUtils;
|
||||||
import org.apache.hadoop.service.ServiceOperations;
|
import org.apache.hadoop.service.ServiceOperations;
|
||||||
|
import org.apache.hadoop.service.ServiceStateException;
|
||||||
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
||||||
import org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager;
|
import org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
|
import org.apache.hadoop.yarn.server.resourcemanager.MockRM;
|
||||||
@ -35,7 +36,6 @@ import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.NullRMNodeLabels
|
|||||||
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager;
|
import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.policy.PriorityUtilizationQueueOrderingPolicy;
|
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.policy.PriorityUtilizationQueueOrderingPolicy;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.policy.QueueOrderingPolicy;
|
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.security.ClientToAMTokenSecretManagerInRM;
|
import org.apache.hadoop.yarn.server.resourcemanager.security.ClientToAMTokenSecretManagerInRM;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.security.NMTokenSecretManagerInRM;
|
import org.apache.hadoop.yarn.server.resourcemanager.security.NMTokenSecretManagerInRM;
|
||||||
import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager;
|
import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager;
|
||||||
@ -941,7 +941,7 @@ public class TestQueueParsing {
|
|||||||
* Test init a queue configuration, children's capacity for a given label
|
* Test init a queue configuration, children's capacity for a given label
|
||||||
* doesn't equals to 100%. This expect IllegalArgumentException thrown.
|
* doesn't equals to 100%. This expect IllegalArgumentException thrown.
|
||||||
*/
|
*/
|
||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = ServiceStateException.class)
|
||||||
public void testQueueParsingFailWhenSumOfChildrenNonLabeledCapacityNot100Percent()
|
public void testQueueParsingFailWhenSumOfChildrenNonLabeledCapacityNot100Percent()
|
||||||
throws IOException {
|
throws IOException {
|
||||||
nodeLabelManager.addToCluserNodeLabelsWithDefaultExclusivity(ImmutableSet
|
nodeLabelManager.addToCluserNodeLabelsWithDefaultExclusivity(ImmutableSet
|
||||||
@ -971,7 +971,7 @@ public class TestQueueParsing {
|
|||||||
* Test init a queue configuration, children's capacity for a given label
|
* Test init a queue configuration, children's capacity for a given label
|
||||||
* doesn't equals to 100%. This expect IllegalArgumentException thrown.
|
* doesn't equals to 100%. This expect IllegalArgumentException thrown.
|
||||||
*/
|
*/
|
||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = ServiceStateException.class)
|
||||||
public void testQueueParsingFailWhenSumOfChildrenLabeledCapacityNot100Percent()
|
public void testQueueParsingFailWhenSumOfChildrenLabeledCapacityNot100Percent()
|
||||||
throws IOException {
|
throws IOException {
|
||||||
nodeLabelManager.addToCluserNodeLabelsWithDefaultExclusivity(ImmutableSet
|
nodeLabelManager.addToCluserNodeLabelsWithDefaultExclusivity(ImmutableSet
|
||||||
@ -1002,7 +1002,7 @@ public class TestQueueParsing {
|
|||||||
* Test init a queue configuration, children's capacity for a given label
|
* Test init a queue configuration, children's capacity for a given label
|
||||||
* doesn't equals to 100%. This expect IllegalArgumentException thrown.
|
* doesn't equals to 100%. This expect IllegalArgumentException thrown.
|
||||||
*/
|
*/
|
||||||
@Test(expected = IllegalArgumentException.class)
|
@Test(expected = ServiceStateException.class)
|
||||||
public void testQueueParsingWithSumOfChildLabelCapacityNot100PercentWithWildCard()
|
public void testQueueParsingWithSumOfChildLabelCapacityNot100PercentWithWildCard()
|
||||||
throws IOException {
|
throws IOException {
|
||||||
nodeLabelManager.addToCluserNodeLabelsWithDefaultExclusivity(ImmutableSet
|
nodeLabelManager.addToCluserNodeLabelsWithDefaultExclusivity(ImmutableSet
|
||||||
@ -1066,7 +1066,7 @@ public class TestQueueParsing {
|
|||||||
capacityScheduler.reinitialize(csConf, rmContext);
|
capacityScheduler.reinitialize(csConf, rmContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(timeout = 60000, expected = java.lang.IllegalArgumentException.class)
|
@Test(timeout = 60000, expected = ServiceStateException.class)
|
||||||
public void testRMStartWrongNodeCapacity() throws Exception {
|
public void testRMStartWrongNodeCapacity() throws Exception {
|
||||||
YarnConfiguration config = new YarnConfiguration();
|
YarnConfiguration config = new YarnConfiguration();
|
||||||
nodeLabelManager = new NullRMNodeLabelsManager();
|
nodeLabelManager = new NullRMNodeLabelsManager();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user