You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by ma...@apache.org on 2014/07/25 04:34:17 UTC
git commit: Refactoring SchedulerCore (forceTaskState)
Repository: incubator-aurora
Updated Branches:
refs/heads/master 1c94304c9 -> 405c6c8ac
Refactoring SchedulerCore (forceTaskState)
Bugs closed: AURORA-94
Reviewed at https://reviews.apache.org/r/23835/
Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/405c6c8a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/405c6c8a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/405c6c8a
Branch: refs/heads/master
Commit: 405c6c8ac3795dbd1e497a2c133d2bdec49bf661
Parents: 1c94304
Author: Maxim Khutornenko <ma...@apache.org>
Authored: Thu Jul 24 19:32:37 2014 -0700
Committer: Maxim Khutornenko <ma...@apache.org>
Committed: Thu Jul 24 19:32:37 2014 -0700
----------------------------------------------------------------------
.../apache/aurora/scheduler/state/SchedulerCore.java | 11 -----------
.../aurora/scheduler/state/SchedulerCoreImpl.java | 12 ------------
.../scheduler/thrift/SchedulerThriftInterface.java | 11 +++++++----
.../scheduler/state/BaseSchedulerCoreImplTest.java | 2 +-
.../scheduler/thrift/SchedulerThriftInterfaceTest.java | 10 +++++++---
5 files changed, 15 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/405c6c8a/src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java b/src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java
index 137bd6c..38ef846 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/SchedulerCore.java
@@ -15,10 +15,8 @@ package org.apache.aurora.scheduler.state;
import java.util.Set;
-import com.google.common.base.Optional;
import com.google.common.collect.ImmutableSet;
-import org.apache.aurora.gen.ScheduleStatus;
import org.apache.aurora.scheduler.base.ScheduleException;
import org.apache.aurora.scheduler.configuration.ConfigurationManager.TaskDescriptionException;
import org.apache.aurora.scheduler.configuration.SanitizedConfiguration;
@@ -60,15 +58,6 @@ public interface SchedulerCore {
throws ScheduleException;
/**
- * Assigns a new state to tasks.
- *
- * @param taskId ID of the task to transition.
- * @param status The new state of the tasks.
- * @param message Additional information about the state transition.
- */
- void setTaskStatus(String taskId, ScheduleStatus status, Optional<String> message);
-
- /**
* Initiates a restart of shards within an active job.
*
* @param jobKey Key of job to be restarted.
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/405c6c8a/src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java b/src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java
index adc2dbc..f053c72 100644
--- a/src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/state/SchedulerCoreImpl.java
@@ -200,18 +200,6 @@ class SchedulerCoreImpl implements SchedulerCore {
}
@Override
- public synchronized void setTaskStatus(
- String taskId,
- final ScheduleStatus status,
- Optional<String> message) {
-
- requireNonNull(taskId);
- requireNonNull(status);
-
- stateManager.changeState(taskId, Optional.<ScheduleStatus>absent(), status, message);
- }
-
- @Override
public void restartShards(
IJobKey jobKey,
final Set<Integer> shards,
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/405c6c8a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
index 7f94e04..f2ad920 100644
--- a/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
+++ b/src/main/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterface.java
@@ -874,17 +874,20 @@ class SchedulerThriftInterface implements AuroraAdmin.Iface {
requireNonNull(status);
requireNonNull(session);
- Response response = Util.emptyResponse();
SessionContext context;
try {
// TODO(Sathya): Remove this after AOP-style session validation passes in a SessionContext.
context = sessionValidator.checkAuthorized(session, Capability.ROOT, AuditCheck.REQUIRED);
} catch (AuthFailedException e) {
- addMessage(response, AUTH_FAILED, e);
- return response;
+ return addMessage(emptyResponse(), AUTH_FAILED, e);
}
- schedulerCore.setTaskStatus(taskId, status, transitionMessage(context.getIdentity()));
+ stateManager.changeState(
+ taskId,
+ Optional.<ScheduleStatus>absent(),
+ status,
+ transitionMessage(context.getIdentity()));
+
return okEmptyResponse();
}
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/405c6c8a/src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java b/src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java
index 5ec7cf3..0206d00 100644
--- a/src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/state/BaseSchedulerCoreImplTest.java
@@ -795,7 +795,7 @@ public abstract class BaseSchedulerCoreImplTest extends EasyMockTest {
Optional<String> message) {
for (String taskId : Tasks.ids(Storage.Util.consistentFetchTasks(storage, query))) {
- scheduler.setTaskStatus(taskId, status, message);
+ stateManager.changeState(taskId, Optional.<ScheduleStatus>absent(), status, message);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/405c6c8a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java b/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
index d3ac7c7..b8677ae 100644
--- a/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/thrift/SchedulerThriftInterfaceTest.java
@@ -633,10 +633,14 @@ public class SchedulerThriftInterfaceTest extends EasyMockTest {
@Test
public void testForceTaskState() throws Exception {
- String taskId = "task_id_foo";
ScheduleStatus status = ScheduleStatus.FAILED;
- scheduler.setTaskStatus(taskId, status, transitionMessage(USER));
+ expect(stateManager.changeState(
+ TASK_ID,
+ Optional.<ScheduleStatus>absent(),
+ ScheduleStatus.FAILED,
+ Optional.of(transitionMessage(USER).get()))).andReturn(true);
+
// Expect auth is first called by an interceptor and then by SchedulerThriftInterface to extract
// the SessionContext.
// Note: This will change after AOP-style session validation passes in a SessionContext.
@@ -644,7 +648,7 @@ public class SchedulerThriftInterfaceTest extends EasyMockTest {
control.replay();
- assertOkResponse(thrift.forceTaskState(taskId, status, SESSION));
+ assertOkResponse(thrift.forceTaskState(TASK_ID, status, SESSION));
}
@Test