This is an automated email from the ASF dual-hosted git repository.

jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git

commit d187ef4122a53c9a06e658aaf3139663b46c06ae
Author: narendly <[email protected]>
AuthorDate: Mon Feb 25 18:10:12 2019 -0800

    [HELIX-802] HELIX: Filter out task resources from ExternalView computation
    
    Helix no longer will support ExternalViews for task-related resources. 
Contexts serve the same purpose.
        Changelist:
        1. Remove task resources from resourceMap
        2. Modify TestDisableExternalView
---
 .../helix/controller/stages/ExternalViewComputeStage.java |  2 +-
 .../integration/task/TestDisableJobExternalView.java      | 15 +++++++++++----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
index 82695f1..0580485 100644
--- 
a/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
+++ 
b/helix-core/src/main/java/org/apache/helix/controller/stages/ExternalViewComputeStage.java
@@ -69,7 +69,7 @@ public class ExternalViewComputeStage extends 
AbstractAsyncBaseStage {
   public void execute(final ClusterEvent event) throws Exception {
     _eventId = event.getEventId();
     HelixManager manager = 
event.getAttribute(AttributeName.helixmanager.name());
-    Map<String, Resource> resourceMap = 
event.getAttribute(AttributeName.RESOURCES.name());
+    Map<String, Resource> resourceMap = 
event.getAttribute(AttributeName.RESOURCES_TO_REBALANCE.name());
     ResourceControllerDataProvider cache = 
event.getAttribute(AttributeName.ControllerDataProvider.name());
 
     if (manager == null || resourceMap == null || cache == null) {
diff --git 
a/helix-core/src/test/java/org/apache/helix/integration/task/TestDisableJobExternalView.java
 
b/helix-core/src/test/java/org/apache/helix/integration/task/TestDisableJobExternalView.java
index db6e16f..c9dbaa7 100644
--- 
a/helix-core/src/test/java/org/apache/helix/integration/task/TestDisableJobExternalView.java
+++ 
b/helix-core/src/test/java/org/apache/helix/integration/task/TestDisableJobExternalView.java
@@ -39,6 +39,13 @@ import org.testng.annotations.Test;
 public class TestDisableJobExternalView extends TaskTestBase {
   private static final Logger LOG = 
LoggerFactory.getLogger(TestDisableJobExternalView.class);
 
+  /**
+   * This test is no longer valid since Helix no longer computes ExternalView 
for Task Framework
+   * resources. Contexts effectively serve as ExternalView for task resources.
+   * **This test has been modified to test that there are no job-related 
resources appearing in
+   * ExternalView**
+   * @throws Exception
+   */
   @Test
   public void testJobsDisableExternalView() throws Exception {
     String queueName = TestHelper.getTestMethodName();
@@ -77,12 +84,12 @@ public class TestDisableJobExternalView extends 
TaskTestBase {
     String namedSpaceJob1 = String.format("%s_%s", queueName, "job1");
     String namedSpaceJob2 = String.format("%s_%s", queueName, "job2");
 
-    Assert.assertTrue(seenExternalViews.contains(namedSpaceJob1),
-        "Can not find external View for " + namedSpaceJob1 + "!");
+    Assert.assertTrue(!seenExternalViews.contains(namedSpaceJob1),
+        "ExternalView found for " + namedSpaceJob1 + ". Jobs shouldn't be in 
EV!");
     Assert.assertTrue(!seenExternalViews.contains(namedSpaceJob2),
         "External View for " + namedSpaceJob2 + " shoudld not exist!");
-    Assert.assertTrue(seenExternalViews.contains(namedSpaceJob3),
-        "Can not find external View for " + namedSpaceJob3 + "!");
+    Assert.assertTrue(!seenExternalViews.contains(namedSpaceJob3),
+        "ExternalView found for " + namedSpaceJob3 + ". Jobs shouldn't be in 
EV!");
 
     _manager
         .removeListener(new PropertyKey.Builder(CLUSTER_NAME).externalViews(), 
externviewChecker);

Reply via email to