You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Kevin Sweeney (JIRA)" <ji...@apache.org> on 2015/05/21 00:08:00 UTC
[jira] [Commented] (AURORA-1327) MesosSchedulerImpl should check if
reason is present when posting status updates
[ https://issues.apache.org/jira/browse/AURORA-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14553224#comment-14553224 ]
Kevin Sweeney commented on AURORA-1327:
---------------------------------------
Consider adding a PMD rule to guard against introducing this in the future.
Also, while enum isn't a value class in Java (though the protobuf spec treats it as one) we could easily be bitten by autoboxing here when parsing thrift fields. Consider adding a PMD rule that'll catch
{code}
TaskConfig t = new TaskConfig();
Optional<Integer> numCpus = Optional.ofNullable(t.getNumCpus());
{code}
and suggest
{code}
TaskConfig t = new TaskConfig();
Optional<Integer> numCpus = t.isSetNumCpus() ? Optional.of(t.getNumCpus()) : Optional.<Integer>empty();
{code}
Asked for guidance to see if this is possible: http://stackoverflow.com/questions/30361186/is-it-possible-to-detect-autoboxing-in-a-pmd-rule
> MesosSchedulerImpl should check if reason is present when posting status updates
> --------------------------------------------------------------------------------
>
> Key: AURORA-1327
> URL: https://issues.apache.org/jira/browse/AURORA-1327
> Project: Aurora
> Issue Type: Task
> Components: Scheduler
> Reporter: Joshua Cohen
>
> We export stats based on task statuses, however since protobuf enums default to a value when unset, the reason stats we generate may not be correct. c.f https://github.com/apache/aurora/blob/998993dd802cf5e94a995aefd7a6c4ec90a1d3af/src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java#L228. If reason is unset, it will default to the first enum value ({{REASON_COMMAND_EXECUTOR_FAILED}}).
> We should call {{status.hasReason()}} first and if it's not set, do not use the value of {{status.getReason()}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)