You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by ju...@apache.org on 2016/12/19 18:12:17 UTC

reef git commit: [REEF-1688] IMRU: Don't fail if RM allocates extra evaluators

Repository: reef
Updated Branches:
  refs/heads/master 6c597f140 -> 92b21364c


[REEF-1688] IMRU: Don't fail if RM allocates extra evaluators

This change replaces exception thrown if RM allocates more
evaluators than IMRU driver requested with a warning and evaluator ignore.

JIRA:
  [REEF-1688](https://issues.apache.org/jira/browse/REEF-1688)

Pull request:
  This closes #1204


Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/92b21364
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/92b21364
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/92b21364

Branch: refs/heads/master
Commit: 92b21364c7234c57b4c4dcfa550078a2e2b82ada
Parents: 6c597f1
Author: Mariia Mykhailova <ma...@apache.org>
Authored: Thu Dec 15 11:41:39 2016 -0800
Committer: Julia Wang <jw...@yahoo.com>
Committed: Mon Dec 19 10:10:23 2016 -0800

----------------------------------------------------------------------
 lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs   | 6 ++++--
 .../Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs   | 8 +++++---
 lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs     | 4 ++++
 3 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/92b21364/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs b/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
index 648d0f5..536d283 100644
--- a/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU.Tests/TestEvaluatorManager.cs
@@ -89,8 +89,10 @@ namespace Org.Apache.REEF.IMRU.Tests
             var evaluatorManager = CreateEvaluatorManager(2, 1);
             evaluatorManager.AddMasterEvaluator(CreateMockAllocatedEvaluator(1));
             evaluatorManager.AddAllocatedEvaluator(CreateMockAllocatedEvaluator(2));
-            Action add = () => evaluatorManager.AddAllocatedEvaluator(CreateMockAllocatedEvaluator(3));
-            Assert.Throws<IMRUSystemException>(add);
+            evaluatorManager.AddAllocatedEvaluator(CreateMockAllocatedEvaluator(3));
+
+            // the last evaluator should be just ignored
+            Assert.False(evaluatorManager.IsAllocatedEvaluator(EvaluatorIdPrefix + "3"));
         }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/reef/blob/92b21364/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs
----------------------------------------------------------------------
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 27a0f3e..fdab06e 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/EvaluatorManager.cs
@@ -128,15 +128,17 @@ namespace Org.Apache.REEF.IMRU.OnREEF.Driver
 
             if (NumberOfAllocatedEvaluators >= _totalExpectedEvaluators)
             {
-                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);
+                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;
             }
            
             _allocatedEvaluatorIds.Add(evaluator.Id);
 
             if (_masterEvaluatorId == null && NumberOfAllocatedEvaluators == _totalExpectedEvaluators)
             {
-                string msg = string.Format("Added the last Evaluator {0} but master Evaluator is not added yet.", evaluator.Id);
+                string msg = string.Format("Added the last evaluator {0} but master evaluator is not added yet.", evaluator.Id);
                 Exceptions.Throw(new IMRUSystemException(msg), Logger);
             }
         }

http://git-wip-us.apache.org/repos/asf/reef/blob/92b21364/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs
----------------------------------------------------------------------
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 d0cd537..27eeba8 100644
--- a/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs
+++ b/lang/cs/Org.Apache.REEF.IMRU/OnREEF/Driver/IMRUDriver.cs
@@ -295,6 +295,10 @@ namespace Org.Apache.REEF.IMRU.OnREEF.Driver
             }
             else
             {
+                if (!_evaluatorManager.IsAllocatedEvaluator(allocatedEvaluator.Id))
+                {
+                    return;
+                }
                 configs = _serviceAndContextConfigurationProvider
                     .GetDataLoadingConfigurationForEvaluatorById(
                         allocatedEvaluator.Id);