mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joseph Wu <jos...@mesosphere.io>
Subject Re: Review Request 70577: Changed Agent V1 GET_STATE for any completed executor's tasks.
Date Wed, 01 May 2019 19:21:01 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/70577/
-----------------------------------------------------------

(Updated May 1, 2019, 12:21 p.m.)


Review request for mesos, Gilbert Song, Greg Mann, and Vinod Kone.


Changes
-------

Alternate fix where we shift the in-memory structure instead of changing the V1 API directly.


Bugs: MESOS-9750
    https://issues.apache.org/jira/browse/MESOS-9750


Repository: mesos


Description
-------

It is possible for a completed executor to have a non-terminal task
(based on last status update).  For example, during graceful shutdown
of an agent, graceful shutdown of an executor will race with the
agent's shutdown grace period.  If the executor does not send a
TASK_KILLED in time, the agent will still mark the executor as complete
and kill it.

After agent recovery, these completed executors will show up in an
agent's /state and GET_STATE responses.  In GET_STATE however, any
non-terminal tasks will appear under `launched_tasks`.  This may
provide misleading information about the total number of tasks running.

This commit adds extra logic to place these non-terminal tasks under
the `terminated_tasks` category, and adds a regression test.


Diffs (updated)
-----

  src/slave/slave.cpp 95f05a18c7905d5032de1cd35726ac3a17f0b682 
  src/tests/api_tests.cpp bc19d7e9661f091aebf3072967548c7c3196239d 


Diff: https://reviews.apache.org/r/70577/diff/2/

Changes: https://reviews.apache.org/r/70577/diff/1-2/


Testing (updated)
-------

```
make check
src/mesos-tests --gtest_filter="*GetStateWithNonTerminalCompletedTask*" --verbose
```


Thanks,

Joseph Wu


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message