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 2016/01/06 18:39:28 UTC
aurora git commit: Populating and validating task config in
getJobUpdateDiff RPC.
Repository: aurora
Updated Branches:
refs/heads/master b9d9ee3cc -> 395bd7dd9
Populating and validating task config in getJobUpdateDiff RPC.
Bugs closed: AURORA-1571
Reviewed at https://reviews.apache.org/r/41966/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/395bd7dd
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/395bd7dd
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/395bd7dd
Branch: refs/heads/master
Commit: 395bd7dd9d5753784fc824742dcefbc3ab8fecb2
Parents: b9d9ee3
Author: Maxim Khutornenko <ma...@apache.org>
Authored: Wed Jan 6 09:39:15 2016 -0800
Committer: Maxim Khutornenko <ma...@apache.org>
Committed: Wed Jan 6 09:39:15 2016 -0800
----------------------------------------------------------------------
.../aurora/scheduler/thrift/ReadOnlySchedulerImpl.java | 12 +++++++++++-
.../scheduler/thrift/ReadOnlySchedulerImplTest.java | 9 +++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/395bd7dd/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java
index 90cddd0..d326d24 100644
--- a/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java
+++ b/src/main/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImpl.java
@@ -103,8 +103,10 @@ import org.apache.thrift.TException;
import static java.util.Objects.requireNonNull;
+import static org.apache.aurora.gen.ResponseCode.INVALID_REQUEST;
import static org.apache.aurora.scheduler.base.Numbers.convertRanges;
import static org.apache.aurora.scheduler.base.Numbers.toRanges;
+import static org.apache.aurora.scheduler.thrift.Responses.error;
import static org.apache.aurora.scheduler.thrift.Responses.invalidRequest;
import static org.apache.aurora.scheduler.thrift.Responses.ok;
@@ -324,7 +326,15 @@ class ReadOnlySchedulerImpl implements ReadOnlyScheduler.Iface {
@Override
public Response getJobUpdateDiff(JobUpdateRequest mutableRequest) {
- IJobUpdateRequest request = IJobUpdateRequest.build(requireNonNull(mutableRequest));
+ IJobUpdateRequest request;
+ try {
+ request = IJobUpdateRequest.build(new JobUpdateRequest(mutableRequest).setTaskConfig(
+ configurationManager.validateAndPopulate(
+ ITaskConfig.build(mutableRequest.getTaskConfig())).newBuilder()));
+ } catch (TaskDescriptionException e) {
+ return error(INVALID_REQUEST, e);
+ }
+
IJobKey job = request.getTaskConfig().getJob();
return storage.read(storeProvider -> {
http://git-wip-us.apache.org/repos/asf/aurora/blob/395bd7dd/src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java b/src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
index b785d8b..0428c77 100644
--- a/src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
+++ b/src/test/java/org/apache/aurora/scheduler/thrift/ReadOnlySchedulerImplTest.java
@@ -852,6 +852,15 @@ public class ReadOnlySchedulerImplTest extends EasyMockTest {
assertEquals(expected, thrift.getJobUpdateDiff(request));
}
+ @Test
+ public void testGetJobUpdateDiffInvalidConfig() throws Exception {
+ control.replay();
+
+ JobUpdateRequest request =
+ new JobUpdateRequest().setTaskConfig(defaultTask(false).setNumCpus(-1));
+ assertResponse(INVALID_REQUEST, thrift.getJobUpdateDiff(request));
+ }
+
private static void makeTasks(
int start,
int end,