You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Till Toenshoff (JIRA)" <ji...@apache.org> on 2017/03/23 15:53:41 UTC

[jira] [Commented] (MESOS-7241) Executor termination status differs for Posix and Windows agents.

    [ https://issues.apache.org/jira/browse/MESOS-7241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15938613#comment-15938613 ] 

Till Toenshoff commented on MESOS-7241:
---------------------------------------

Quick grep shows we desperately need a single helper for this stuff;

{noformat}
3rdparty/libprocess/include/process/subprocess_base.hpp
283:   * 'WIFEXITED(status)'.

3rdparty/libprocess/src/subprocess.cpp
196:      if (WIFEXITED(status)) {

3rdparty/stout/include/stout/gtest.hpp
237:  if (WIFEXITED(actual)) {
241:      << "Expecting WIFEXITED(" << actualExpr << ") but "
246:      << "Expecting WIFEXITED(" << actualExpr << ") but"
252:    << "Expecting WIFEXITED(" << actualExpr << ") but got"
334:  if (WIFEXITED(actual)) {
337:      << " WIFEXITED(" << actualExpr << ") is true and "

src/hdfs/hdfs.cpp
164:      if (WIFEXITED(result.status.get()) &&

src/launcher/default_executor.cpp
649:      CHECK(WIFEXITED(status.get()) || WIFSIGNALED(status.get()))

src/launcher/executor.cpp
688:      CHECK(WIFEXITED(status) || WIFSIGNALED(status))

src/linux/ns.hpp
507:    CHECK(WIFEXITED(status) || WIFSIGNALED(status))
568:      assert(WIFEXITED(status) || WIFSIGNALED(status));
570:      if (WIFEXITED(status)) {

src/tests/script.cpp
77:    CHECK(WIFEXITED(status) || WIFSIGNALED(status))

src/common/status_utils.hpp
28:  return WIFEXITED(status) && WEXITSTATUS(status) == 0;
43:  if (WIFEXITED(status)) {

src/docker/executor.cpp
422:      CHECK(WIFEXITED(status) || WIFSIGNALED(status))

3rdparty/stout/include/stout/windows.hpp
410:#ifndef WIFEXITED
411:#define WIFEXITED(x) ((x) != -1)
412:#endif // WIFEXITED
{noformat}

> Executor termination status differs for Posix and Windows agents.
> -----------------------------------------------------------------
>
>                 Key: MESOS-7241
>                 URL: https://issues.apache.org/jira/browse/MESOS-7241
>             Project: Mesos
>          Issue Type: Improvement
>          Components: scheduler api
>    Affects Versions: 1.0.2, 1.1.0, 1.2.0
>            Reporter: Alexander Rukletsov
>
> In scheduler API, {{Event.failure.status}} contains the exit status for an executor. On Posix, {{status}} corresponds to termination information in the {{stat_loc}} area returned from a {{waitpid}} call. On Windows, {{status}} is obtained via calling the {{GetExitCodeProcess()}} function. For messages coming from Posix agents, schedulers need to apply {{WEXITSTATUS}} family macros or equivalent transformations to obtain exit codes.
> We should consider consolidating Posix and Windows behavior.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)