Repository: aurora Updated Branches: refs/heads/master 88f887587 -> 1024a8579
Avoid unintentional use of TaskStatus.Reason default value. Bugs closed: AURORA-1327 Reviewed at https://reviews.apache.org/r/35928/ Project: http://git-wip-us.apache.org/repos/asf/aurora/repo Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/1024a857 Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/1024a857 Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/1024a857 Branch: refs/heads/master Commit: 1024a8579e201e648d86d49ff97c4542cc710956 Parents: 88f8875 Author: Bill Farner <[email protected]> Authored: Wed Jul 1 10:53:12 2015 -0700 Committer: Bill Farner <[email protected]> Committed: Wed Jul 1 10:53:12 2015 -0700 ---------------------------------------------------------------------- .../scheduler/mesos/MesosSchedulerImpl.java | 2 +- .../scheduler/mesos/MesosSchedulerImplTest.java | 32 +++++++++++--------- 2 files changed, 18 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aurora/blob/1024a857/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java index 33749de..6f06693 100644 --- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java +++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java @@ -226,7 +226,7 @@ public class MesosSchedulerImpl implements Scheduler { eventSink.post(new TaskStatusReceived( status.getState(), Optional.fromNullable(status.getSource()), - Optional.fromNullable(status.getReason()), + status.hasReason() ? Optional.of(status.getReason()) : Optional.absent(), Optional.fromNullable(status.getTimestamp()).transform(SECONDS_TO_MICROS))); try { http://git-wip-us.apache.org/repos/asf/aurora/blob/1024a857/src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java b/src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java index f08c799..ea96f46 100644 --- a/src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java +++ b/src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java @@ -109,28 +109,25 @@ public class MesosSchedulerImplTest extends EasyMockTest { .setMode(NONE) .setAttributes(ImmutableSet.<Attribute>of()))); - private static final TaskStatus.Builder STATUS_BUILDER = TaskStatus.newBuilder() + private static final TaskStatus STATUS_NO_REASON = TaskStatus.newBuilder() .setState(TaskState.TASK_RUNNING) .setSource(Source.SOURCE_SLAVE) - // Only testing data plumbing, this field with TASK_RUNNING would not normally happen, - .setReason(Reason.REASON_COMMAND_EXECUTOR_FAILED) .setMessage("message") .setTimestamp(1D) - .setTaskId(TaskID.newBuilder().setValue("task-id").build()); + .setTaskId(TaskID.newBuilder().setValue("task-id").build()) + .build(); - private static final TaskStatus STATUS = STATUS_BUILDER.build(); + private static final TaskStatus STATUS = STATUS_NO_REASON + .toBuilder() + // Only testing data plumbing, this field with TASK_RUNNING would not normally happen, + .setReason(Reason.REASON_COMMAND_EXECUTOR_FAILED) + .build(); - private static final TaskStatus STATUS_RECONCILIATION = STATUS_BUILDER + private static final TaskStatus STATUS_RECONCILIATION = STATUS_NO_REASON + .toBuilder() .setReason(Reason.REASON_RECONCILIATION) .build(); - private static final TaskStatusReceived PUBSUB_EVENT = new TaskStatusReceived( - STATUS.getState(), - Optional.of(STATUS.getSource()), - Optional.of(STATUS.getReason()), - Optional.of(1000000L) - ); - private static final TaskStatusReceived PUBSUB_RECONCILIATION_EVENT = new TaskStatusReceived( STATUS_RECONCILIATION.getState(), Optional.of(STATUS_RECONCILIATION.getSource()), @@ -261,7 +258,12 @@ public class MesosSchedulerImplTest extends EasyMockTest { new StatusFixture() { @Override void expectations() { - eventSink.post(PUBSUB_EVENT); + eventSink.post(new TaskStatusReceived( + STATUS.getState(), + Optional.of(STATUS.getSource()), + Optional.of(STATUS.getReason()), + Optional.of(1000000L) + )); statusHandler.statusUpdate(status); expectLastCall().andThrow(new StorageException("Injected.")); } @@ -377,7 +379,7 @@ public class MesosSchedulerImplTest extends EasyMockTest { eventSink.post(new TaskStatusReceived( status.getState(), Optional.fromNullable(status.getSource()), - Optional.fromNullable(status.getReason()), + status.hasReason() ? Optional.of(status.getReason()) : Optional.absent(), Optional.of(1000000L) )); statusHandler.statusUpdate(status);
