Repository: ambari
Updated Branches:
  refs/heads/trunk 7a3585fb4 -> a63cf2238


AMBARI-6710. on host reg failure, exception printed to ambari-server.log 
(aonishuk)


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

Branch: refs/heads/trunk
Commit: a63cf2238ddecbe7c1b8be3b3faa09f172b344b5
Parents: 7a3585f
Author: Andrew Onishuk <aonis...@hortonworks.com>
Authored: Fri Aug 1 19:26:12 2014 +0300
Committer: Andrew Onishuk <aonis...@hortonworks.com>
Committed: Fri Aug 1 19:26:12 2014 +0300

----------------------------------------------------------------------
 .../server/actionmanager/ActionDBAccessor.java    |  3 ++-
 .../actionmanager/ActionDBAccessorImpl.java       |  4 ++--
 .../server/actionmanager/ActionManager.java       |  2 +-
 .../internal/RequestStageContainer.java           |  3 ++-
 .../internal/ServiceResourceProvider.java         | 12 ++++++++++--
 .../ExecutionCommandWrapperTest.java              |  2 +-
 .../actionmanager/TestActionDBAccessorImpl.java   | 18 +++++++++---------
 .../server/actionmanager/TestActionManager.java   |  6 +++---
 .../ambari/server/agent/TestHeartbeatHandler.java |  2 +-
 .../internal/RequestStageContainerTest.java       |  5 +++--
 10 files changed, 34 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessor.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessor.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessor.java
index fd3e039..1f99b4a 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessor.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessor.java
@@ -18,6 +18,7 @@
 package org.apache.ambari.server.actionmanager;
 
 import com.google.inject.persist.Transactional;
+import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.agent.CommandReport;
 import org.apache.ambari.server.agent.ExecutionCommand;
 
@@ -66,7 +67,7 @@ public interface ActionDBAccessor {
    * @param request request object
    */
   @Transactional
-  void persistActions(Request request);
+  void persistActions(Request request) throws AmbariException;
 
   @Transactional
   void startRequest(long requestId);

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
index d6d7c11..1ba6b94 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionDBAccessorImpl.java
@@ -203,7 +203,7 @@ public class ActionDBAccessorImpl implements 
ActionDBAccessor {
 
   @Override
   @Transactional
-  public void persistActions(Request request) {
+  public void persistActions(Request request) throws AmbariException {
 
     RequestEntity requestEntity = request.constructNewPersistenceEntity();
 
@@ -239,7 +239,7 @@ public class ActionDBAccessorImpl implements 
ActionDBAccessor {
         if (hostEntity == null) {
           String msg = String.format("Host %s doesn't exist in database", 
hostRoleCommandEntity.getHostName());
           LOG.error(msg);
-          throw new RuntimeException(msg);
+          throw new AmbariException(msg);
         }
         hostRoleCommandEntity.setHost(hostEntity);
         hostRoleCommandDAO.create(hostRoleCommandEntity);

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionManager.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionManager.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionManager.java
index d51a792..3bcf8c2 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionManager.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionManager.java
@@ -84,7 +84,7 @@ public class ActionManager {
     sendActions(request, actionRequest);
   }
 
-  public void sendActions(Request request, ExecuteActionRequest 
executeActionRequest) {
+  public void sendActions(Request request, ExecuteActionRequest 
executeActionRequest) throws AmbariException {
     if (LOG.isDebugEnabled()) {
       LOG.debug(String.format("Persisting Request into DB: %s", request));
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestStageContainer.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestStageContainer.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestStageContainer.java
index e8b9adf..512ea14 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestStageContainer.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestStageContainer.java
@@ -18,6 +18,7 @@
 
 package org.apache.ambari.server.controller.internal;
 
+import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.RoleCommand;
 import org.apache.ambari.server.actionmanager.ActionManager;
 import org.apache.ambari.server.actionmanager.HostRoleCommand;
@@ -169,7 +170,7 @@ public class RequestStageContainer {
   /**
    * Persist the stages.
    */
-  public void persist() {
+  public void persist() throws AmbariException {
     if (!stages.isEmpty()) {
       Request request = requestFactory.createNewFromStages(stages);
       if (request != null && request.getStages()!= null && 
!request.getStages().isEmpty()) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index 91eb458..c77b8d6 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@ -203,7 +203,11 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
 
     RequestStatusResponse response = null;
     if (requestStages != null) {
-      requestStages.persist();
+      try {
+        requestStages.persist();
+      } catch (AmbariException e) {
+        throw new SystemException(e.getMessage(), e);
+      }
       response = requestStages.getRequestStatusResponse();
     }
     notifyUpdate(Resource.Type.Service, request, predicate);
@@ -291,7 +295,11 @@ public class ServiceResourceProvider extends 
AbstractControllerResourceProvider
       LOG.info("Starting all services");
       doUpdateResources(requestStages, startRequest, startPredicate);
       notifyUpdate(Resource.Type.Service, startRequest, startPredicate);
-      requestStages.persist();
+      try {
+        requestStages.persist();
+      } catch (AmbariException e) {
+        throw new SystemException(e.getMessage(), e);
+      }
       return requestStages.getRequestStatusResponse();
 
     } catch (NoSuchResourceException e) {

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java
index b19d1c0..034ac5b 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java
@@ -153,7 +153,7 @@ public class ExecutionCommandWrapperTest {
     
   }
   
-  private static void createTask(ActionDBAccessor db, long requestId, long 
stageId, String hostName, String clusterName) {
+  private static void createTask(ActionDBAccessor db, long requestId, long 
stageId, String hostName, String clusterName) throws AmbariException {
     
     Stage s = new Stage(requestId, "/var/log", clusterName, 1L, "execution 
command wrapper test", "clusterHostInfo");
     s.setStageId(stageId);

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
index 35a2b12..578c5dd 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
@@ -95,7 +95,7 @@ public class TestActionDBAccessorImpl {
   }
 
   @Test
-  public void testActionResponse() {
+  public void testActionResponse() throws AmbariException {
     String hostname = "host1";
     populateActionDB(db, hostname, requestId, stageId);
     Stage stage = db.getAllStages(requestId).get(0);
@@ -122,7 +122,7 @@ public class TestActionDBAccessorImpl {
   }
   
   @Test
-  public void testGetStagesInProgress() {
+  public void testGetStagesInProgress() throws AmbariException {
     String hostname = "host1";
     List<Stage> stages = new ArrayList<Stage>();
     stages.add(createStubStage(hostname, requestId, stageId));
@@ -135,7 +135,7 @@ public class TestActionDBAccessorImpl {
   }
   
   @Test
-  public void testGetStagesInProgressWithFailures() {
+  public void testGetStagesInProgressWithFailures() throws AmbariException {
     String hostname = "host1";
     populateActionDB(db, hostname, requestId, stageId);
     populateActionDB(db, hostname, requestId+1, stageId);
@@ -146,7 +146,7 @@ public class TestActionDBAccessorImpl {
   }
 
   @Test
-  public void testPersistActions() {
+  public void testPersistActions() throws AmbariException {
     populateActionDB(db, hostName, requestId, stageId);
     for (Stage stage : db.getAllStages(requestId)) {
       log.info("taskId={}" + stage.getExecutionCommands(hostName).get(0).
@@ -159,7 +159,7 @@ public class TestActionDBAccessorImpl {
   }
 
   @Test
-  public void testHostRoleScheduled() throws InterruptedException {
+  public void testHostRoleScheduled() throws InterruptedException, 
AmbariException {
     populateActionDB(db, hostName, requestId, stageId);
     Stage stage = db.getStage(StageUtils.getActionId(requestId, stageId));
     assertEquals(HostRoleStatus.PENDING, stage.getHostRoleStatus(hostName, 
Role.HBASE_MASTER.toString()));
@@ -194,7 +194,7 @@ public class TestActionDBAccessorImpl {
   }
 
   @Test
-  public void testCustomActionScheduled() throws InterruptedException {
+  public void testCustomActionScheduled() throws InterruptedException, 
AmbariException {
     populateActionDBWithCustomAction(db, hostName, requestId, stageId);
     Stage stage = db.getStage(StageUtils.getActionId(requestId, stageId));
     assertEquals(HostRoleStatus.PENDING, stage.getHostRoleStatus(hostName, 
actionName));
@@ -281,7 +281,7 @@ public class TestActionDBAccessorImpl {
   }
 
   @Test
-  public void testGetRequestsByStatusWithParams() {
+  public void testGetRequestsByStatusWithParams() throws AmbariException {
     List<Long> ids = new ArrayList<Long>();
 
     for (long l = 0; l < 10; l++) {
@@ -374,7 +374,7 @@ public class TestActionDBAccessorImpl {
   }
 
   private void populateActionDB(ActionDBAccessor db, String hostname,
-      long requestId, long stageId) {
+      long requestId, long stageId) throws AmbariException {
     Stage s = createStubStage(hostname, requestId, stageId);
     List<Stage> stages = new ArrayList<Stage>();
     stages.add(s);
@@ -399,7 +399,7 @@ public class TestActionDBAccessorImpl {
   }
 
   private void populateActionDBWithCustomAction(ActionDBAccessor db, String 
hostname,
-                                long requestId, long stageId) {
+                                long requestId, long stageId) throws 
AmbariException {
     Stage s = new Stage(requestId, "/a/b", "cluster1", 1L, "action db accessor 
test", "");
     s.setStageId(stageId);
     s.addHostRoleExecutionCommand(hostname, Role.valueOf(actionName),

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
index 47c4e2a..4dfb63c 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
@@ -74,7 +74,7 @@ public class TestActionManager {
   }
 
   @Test
-  public void testActionResponse() {
+  public void testActionResponse() throws AmbariException {
     ActionDBAccessor db = injector.getInstance(ActionDBAccessorImpl.class);
     ActionManager am = new ActionManager(5000, 1200000, new ActionQueue(),
         clusters, db, new HostsMap((String) null), null, unitOfWork,
@@ -117,7 +117,7 @@ public class TestActionManager {
   }
   
   @Test
-  public void testLargeLogs() {
+  public void testLargeLogs() throws AmbariException {
     ActionDBAccessor db = injector.getInstance(ActionDBAccessorImpl.class);
     ActionManager am = new ActionManager(5000, 1200000, new ActionQueue(),
         clusters, db, new HostsMap((String) null), null, unitOfWork,
@@ -159,7 +159,7 @@ public class TestActionManager {
             .getHostRoleCommand(hostname, 
"HBASE_MASTER").getStructuredOut().length());
   }
 
-  private void populateActionDB(ActionDBAccessor db, String hostname) {
+  private void populateActionDB(ActionDBAccessor db, String hostname) throws 
AmbariException {
     Stage s = new Stage(requestId, "/a/b", "cluster1", 1L, "action manager 
test", "clusterHostInfo");
     s.setStageId(stageId);
     s.addHostRoleExecutionCommand(hostname, Role.HBASE_MASTER,

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
index 599db59..c415e15 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
@@ -634,7 +634,7 @@ public class TestHeartbeatHandler {
             s.getExitCode(DummyHostname1, HBASE_MASTER));
   }
 
-  private void populateActionDB(ActionDBAccessor db, String DummyHostname1) {
+  private void populateActionDB(ActionDBAccessor db, String DummyHostname1) 
throws AmbariException {
     Stage s = new Stage(requestId, "/a/b", DummyCluster, 1L, "heartbeat 
handler test", "clusterHostInfo");
     s.setStageId(stageId);
     String filename = null;

http://git-wip-us.apache.org/repos/asf/ambari/blob/a63cf223/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestStageContainerTest.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestStageContainerTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestStageContainerTest.java
index 8c58517..60efd6c 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestStageContainerTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestStageContainerTest.java
@@ -18,6 +18,7 @@
 
 package org.apache.ambari.server.controller.internal;
 
+import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.Role;
 import org.apache.ambari.server.RoleCommand;
 import org.apache.ambari.server.actionmanager.ActionManager;
@@ -131,7 +132,7 @@ public class RequestStageContainerTest {
   }
 
   @Test
-  public void testPersist() {
+  public void testPersist() throws AmbariException {
     ActionManager actionManager = createStrictMock(ActionManager.class);
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
     Request request = createStrictMock(Request.class);
@@ -155,7 +156,7 @@ public class RequestStageContainerTest {
   }
 
   @Test
-  public void testPersist_noStages() {
+  public void testPersist_noStages() throws AmbariException {
     ActionManager actionManager = createStrictMock(ActionManager.class);
     RequestFactory requestFactory = createStrictMock(RequestFactory.class);
 

Reply via email to