Merge branch 'develop' into feature/SLIDER-82-pass-3.1 # Conflicts: # slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java # slider-core/src/test/groovy/org/apache/slider/client/TestClientBadArgs.groovy
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/2487fba2 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/2487fba2 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/2487fba2 Branch: refs/heads/feature/SLIDER-82-pass-3.1 Commit: 2487fba2d191bd70c04d5620e220ea825c2938a2 Parents: 076ecb1 1a3fb79 Author: Steve Loughran <[email protected]> Authored: Mon Nov 23 16:16:13 2015 +0000 Committer: Steve Loughran <[email protected]> Committed: Mon Nov 23 16:16:13 2015 +0000 ---------------------------------------------------------------------- app-packages/accumulo/appConfig-default.json | 2 +- .../accumulo/appConfig-secured-default.json | 2 +- .../accumulo/appConfig-ssl-default.json | 2 +- .../src/main/python/agent/ActionQueue.py | 1 + .../src/main/python/agent/Controller.py | 14 +++ slider-agent/src/main/python/agent/main.py | 4 +- .../src/test/python/agent/TestController.py | 105 +++++++++++++++- .../org/apache/slider/api/ResourceKeys.java | 12 ++ .../org/apache/slider/client/SliderClient.java | 8 +- .../org/apache/slider/common/SliderKeys.java | 6 + .../apache/slider/core/conf/MapOperations.java | 15 +++ .../slider/core/launch/AbstractLauncher.java | 27 +++- .../slider/core/launch/AppMasterLauncher.java | 2 + .../providers/agent/AgentProviderService.java | 13 ++ .../providers/agent/ComponentInstanceState.java | 20 ++- .../apache/slider/providers/agent/State.java | 8 +- .../server/appmaster/SliderAppMaster.java | 41 ++++++- .../standalone/TestStandaloneAMRestart.groovy | 122 +++++++++++++++++++ .../slider/client/TestClientBadArgs.groovy | 17 ++- .../TestAppMasterLauncherWithAmReset.java | 92 ++++++++++++++ .../agent/TestAgentProviderService.java | 87 +++++++++++++ .../slider/providers/agent/TestState.java | 33 +++++ 22 files changed, 611 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2487fba2/slider-core/src/main/java/org/apache/slider/client/SliderClient.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2487fba2/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java ---------------------------------------------------------------------- diff --cc slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java index cc2dc6d,fd9253e..18d5bfa --- a/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java +++ b/slider-core/src/main/java/org/apache/slider/server/appmaster/SliderAppMaster.java @@@ -1851,15 -1877,7 +1884,15 @@@ public class SliderAppMaster extends Ab LOG_YARN.info("onNodesUpdated({})", updatedNodes.size()); log.info("Updated nodes {}", updatedNodes); // Check if any nodes are lost or revived and update state accordingly - appState.onNodesUpdated(updatedNodes); + + AppState.NodeUpdatedOutcome outcome = appState.onNodesUpdated(updatedNodes); + if (!outcome.operations.isEmpty()) { + execute(outcome.operations); + } - // rigger a review if the cluster changed ++ // trigger a review if the cluster changed + if (outcome.clusterChanged) { + reviewRequestAndReleaseNodes("nodes updated"); + } } /** http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/2487fba2/slider-core/src/test/groovy/org/apache/slider/client/TestClientBadArgs.groovy ---------------------------------------------------------------------- diff --cc slider-core/src/test/groovy/org/apache/slider/client/TestClientBadArgs.groovy index 9b6c7dc,1a90c88..17b176c --- a/slider-core/src/test/groovy/org/apache/slider/client/TestClientBadArgs.groovy +++ b/slider-core/src/test/groovy/org/apache/slider/client/TestClientBadArgs.groovy @@@ -241,11 -239,13 +241,22 @@@ class TestClientBadArgs extends Service } @Test + public void testNodesMissingFile() throws Throwable { + def exception = launchExpectingException(SliderClient, - createTestConfig(), - "after parameter --out", - [SliderActions.ACTION_NODES, Arguments.ARG_OUTPUT]) ++ createTestConfig(), ++ "after parameter --out", ++ [SliderActions.ACTION_NODES, Arguments.ARG_OUTPUT]) + assert exception instanceof BadCommandArgumentsException + } ++ ++ @Test + public void testFlexWithNoCompoents() throws Throwable { + def exception = launchExpectingException(SliderClient, + new Configuration(), + "Usage: slider flex <application>", + [SliderActions.ACTION_FLEX, + "flex1"]) + assert exception instanceof UsageException + log.info(exception.toString()) + } }
