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);
