SLIDER-262. Slider agent should provide process supervision such as auto-restart. Minor bug fix.
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/18b05450 Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/18b05450 Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/18b05450 Branch: refs/heads/feature/SLIDER-306_Slider_list_command_live_and_history_options Commit: 18b05450e886db00fdf38acb83d2b419d149493d Parents: 806ebb2 Author: Sumit Mohanty <smoha...@hortonworks.com> Authored: Wed Aug 13 12:48:01 2014 -0700 Committer: Sumit Mohanty <smoha...@hortonworks.com> Committed: Thu Aug 14 17:57:43 2014 -0700 ---------------------------------------------------------------------- .../providers/agent/AgentProviderService.java | 2 +- .../application/metadata/MetainfoParser.java | 2 +- .../agent/TestAgentProviderService.java | 19 ++++++++++--------- 3 files changed, 12 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/18b05450/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java index a40926a..b22ef39 100644 --- a/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java +++ b/slider-core/src/main/java/org/apache/slider/providers/agent/AgentProviderService.java @@ -1131,7 +1131,7 @@ public class AgentProviderService extends AbstractProviderService implements @VisibleForTesting protected void addStartCommand(String roleName, String containerId, HeartBeatResponse response, - String scriptPath, Boolean isMarkedAutoRestart) + String scriptPath, boolean isMarkedAutoRestart) throws SliderException { assert getAmState().isApplicationLive(); http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/18b05450/slider-core/src/main/java/org/apache/slider/providers/agent/application/metadata/MetainfoParser.java ---------------------------------------------------------------------- diff --git a/slider-core/src/main/java/org/apache/slider/providers/agent/application/metadata/MetainfoParser.java b/slider-core/src/main/java/org/apache/slider/providers/agent/application/metadata/MetainfoParser.java index 23134b6..ada5b83 100644 --- a/slider-core/src/main/java/org/apache/slider/providers/agent/application/metadata/MetainfoParser.java +++ b/slider-core/src/main/java/org/apache/slider/providers/agent/application/metadata/MetainfoParser.java @@ -39,7 +39,6 @@ public class MetainfoParser { digester.addBeanPropertySetter("*/application/comment"); digester.addBeanPropertySetter("*/application/version"); digester.addBeanPropertySetter("*/application/exportedConfigs"); - digester.addBeanPropertySetter("*/application/autoStartOnFailure"); digester.addObjectCreate("*/commandOrder", CommandOrder.class); digester.addBeanPropertySetter("*/commandOrder/command"); @@ -60,6 +59,7 @@ public class MetainfoParser { digester.addBeanPropertySetter("*/component/publishConfig"); digester.addBeanPropertySetter("*/component/minInstanceCount"); digester.addBeanPropertySetter("*/component/maxInstanceCount"); + digester.addBeanPropertySetter("*/component/autoStartOnFailure"); digester.addObjectCreate("*/component/export", Export.class); digester.addBeanPropertySetter("*/component/export/name"); digester.addBeanPropertySetter("*/component/export/value"); http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/18b05450/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java ---------------------------------------------------------------------- diff --git a/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java b/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java index 463799c..1aeedbc 100644 --- a/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java +++ b/slider-core/src/test/java/org/apache/slider/providers/agent/TestAgentProviderService.java @@ -63,6 +63,7 @@ import org.apache.slider.server.appmaster.web.rest.agent.RegistrationStatus; import org.junit.Assert; import org.junit.Test; import org.mockito.ArgumentCaptor; +import org.mockito.Matchers; import org.mockito.Mockito; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -566,11 +567,11 @@ public class TestAgentProviderService { String role_hm = "HBASE_MASTER"; String role_hrs = "HBASE_REGIONSERVER"; - AgentProviderService aps = new AgentProviderService(); - AgentProviderService mockAps = Mockito.spy(aps); + AgentProviderService aps1 = new AgentProviderService(); + AgentProviderService mockAps = Mockito.spy(aps1); doReturn(metainfo).when(mockAps).getMetainfo(); - AgentProviderService mockAps2 = Mockito.spy(aps); + AgentProviderService mockAps2 = Mockito.spy(aps1); doReturn(metainfo2).when(mockAps2).getMetainfo(); Assert.assertTrue(mockAps.isMaster(role_hm)); @@ -644,7 +645,7 @@ public class TestAgentProviderService { anyString(), any(HeartBeatResponse.class), anyString(), - anyBoolean()); + Matchers.anyBoolean()); doNothing().when(mockAps).addGetConfigCommand( anyString(), anyString(), @@ -747,7 +748,7 @@ public class TestAgentProviderService { anyString(), any(HeartBeatResponse.class), anyString(), - anyBoolean()); + Matchers.anyBoolean()); // RS still does not start hb = new HeartBeat(); hb.setResponseId(3); @@ -758,7 +759,7 @@ public class TestAgentProviderService { anyString(), any(HeartBeatResponse.class), anyString(), - anyBoolean()); + Matchers.anyBoolean()); // MASTER succeeds install and issues start hb = new HeartBeat(); @@ -778,7 +779,7 @@ public class TestAgentProviderService { anyString(), any(HeartBeatResponse.class), anyString(), - anyBoolean()); + Matchers.anyBoolean()); Map<String, String> allocatedPorts = mockAps.getAllocatedPorts(); Assert.assertTrue(allocatedPorts != null); Assert.assertTrue(allocatedPorts.size() == 1); @@ -794,7 +795,7 @@ public class TestAgentProviderService { anyString(), any(HeartBeatResponse.class), anyString(), - anyBoolean()); + Matchers.anyBoolean()); // MASTER succeeds start hb = new HeartBeat(); hb.setResponseId(3); @@ -819,7 +820,7 @@ public class TestAgentProviderService { anyString(), any(HeartBeatResponse.class), anyString(), - anyBoolean()); + Matchers.anyBoolean()); // JDK7 } catch (SliderException he) { log.warn(he.getMessage());