[REEF-1692] Revert ignoring extra Evaluators allocated
This change reverts REEF-1688 which allowed to ignore extra evaluators
allocated by RM. Since we've found our that extra evaluators were not
RM issue but a bug in IMRU code, we want to get the extra protection
provided by these checks again.
JIRA:
[REEF-1692](https://issues.apache.org/jira/browse/REEF-1692)
This closes #1237
diff --git a/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs b/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
index 139bc6d..6b2383a 100644
--- a/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
@@ -90,10 +90,8 @@
var evaluatorManager = CreateEvaluatorManager(2, 1);
evaluatorManager.AddMasterEvaluator(CreateMockAllocatedEvaluator(1));
evaluatorManager.AddAllocatedEvaluator(CreateMockAllocatedEvaluator(2));
- evaluatorManager.AddAllocatedEvaluator(CreateMockAllocatedEvaluator(3));
-
- // the last evaluator should be just ignored
- Assert.False(evaluatorManager.IsAllocatedEvaluator(EvaluatorIdPrefix + "3"));
+ Action add = () => evaluatorManager.AddAllocatedEvaluator(CreateMockAllocatedEvaluator(3));
+ Assert.Throws<IMRUSystemException>(add);
}
/// <summary>
diff --git a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs
index fe5cd35..f1cb76e 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs
@@ -128,10 +128,8 @@
if (NumberOfAllocatedEvaluators >= _totalExpectedEvaluators)
{
- string msg = string.Format("Trying to add an additional evaluator {0}, but the total expected Evaluator number {1} has been reached. Ignoring new evaluator",
- evaluator.Id, _totalExpectedEvaluators);
- Logger.Log(Level.Warning, msg);
- return;
+ string msg = string.Format("Trying to add an additional Evaluator {0}, but the total expected Evaluator number {1} has been reached.", evaluator.Id, _totalExpectedEvaluators);
+ Exceptions.Throw(new IMRUSystemException(msg), Logger);
}
_allocatedEvaluatorIds.Add(evaluator.Id);
diff --git a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs
index a169575..48256bd 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs
@@ -295,10 +295,6 @@
}
else
{
- if (!_evaluatorManager.IsAllocatedEvaluator(allocatedEvaluator.Id))
- {
- return;
- }
configs = _serviceAndContextConfigurationProvider
.GetDataLoadingConfigurationForEvaluatorById(
allocatedEvaluator.Id);