Re: Review Request 70951: Updated registry operation `UpdateQuota` to persist `QuotaConfig`.

2019-06-25 Thread Meng Zhu

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

(Updated June 25, 2019, 11:03 p.m.)


Review request for mesos and Benjamin Mahler.


Summary (updated)
-

Updated registry operation `UpdateQuota` to persist `QuotaConfig`.


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


Repository: mesos


Description (updated)
---

The new operations will mutate the `quota_configs` field in
the registry to persist `QuotaConfigs` configured by the new
`UPDATE_QUOTA` call as well as the legacy `SET_QUOTA` and
`REMOVE_QUOTA` calls.

The operation removes any entries in the legacy `quotas` field
with the same role name. In addition, it also adds/removes the
minimum capability `QUOTA_V2` accordingly: if `quota_configs`
is empty the capability will be removed otherwise it will
be added.

This operation replaces the `REMOVE_QUOTA` operation.

Also fixed affected tests.


Diffs (updated)
-

  src/master/master.cpp 826362d1a9ed034a49934b1810d6e1e6cffd90cd 
  src/master/quota.hpp 959e312b861fc0b59519a9ab5cc51061b55b534c 
  src/master/quota.cpp a7ee845d5916e859218b0168c7b682f77549aafc 
  src/master/quota_handler.cpp 476e87eb67e07a2ec6c7b258667cf94ff9c4f8eb 
  src/tests/registrar_tests.cpp 81979d78f1348791e28f1afea4ca2999de6362b8 


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

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


Testing
---

make check


Thanks,

Meng Zhu



Re: Review Request 70949: Added master minimum capability `QUOTA_V2`.

2019-06-25 Thread Meng Zhu

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

(Updated June 25, 2019, 10:58 p.m.)


Review request for mesos and Benjamin Mahler.


Changes
---

Renamed the capability to `QUOTA_V2`.


Summary (updated)
-

Added master minimum capability `QUOTA_V2`.


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


Repository: mesos


Description (updated)
---

This adds a new enum for the revamped quota feature
in the master. When quota is configured in Mesos 1.9
or higher, the `QUOTA_V2` minimum capability will be
persisted into the registry. This will prevent any master
downgrades until all quotas configured in Mesos 1.9 or higher
are set back to the default (no guarantees and no limits).


Diffs (updated)
-

  docs/downgrades.md 3807254143d19f36079498c1a01adf744e21e8a2 
  include/mesos/mesos.proto d2750a634bf58428a152e70aedfc06ff70b3aa84 
  src/common/protobuf_utils.hpp f6ea9230d38079b24060922872ee93d9f038b98e 
  src/master/constants.cpp 13b3467825c624fd3cb1652fbfec1a9631ca37e6 
  src/tests/master_tests.cpp d7b4613980cb13d2009426b3a07690aac659cda7 


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

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


Testing
---

make check


Thanks,

Meng Zhu



Review Request 70951: Added registry operations for updating quota configurations.

2019-06-25 Thread Meng Zhu

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

The new operations will mutate the `quota_configs` field in
the registry to serve the new `UPDATE_QUOTA` call. Meanwhile,
it also removes any entry in the legacy `quotas` field with
the same role name.

In addition, it also adds/removes the minimum capability
`UPDATE_QUOTA` accordingly: if `quota_configs` is not empty
the capability will be added otherwise it will be removed.


Diffs
-

  src/master/master.cpp 826362d1a9ed034a49934b1810d6e1e6cffd90cd 
  src/master/quota.hpp 959e312b861fc0b59519a9ab5cc51061b55b534c 
  src/master/quota.cpp a7ee845d5916e859218b0168c7b682f77549aafc 


Diff: https://reviews.apache.org/r/70951/diff/1/


Testing
---

make check


Thanks,

Meng Zhu



Review Request 70949: Added master minimum capability for update quota.

2019-06-25 Thread Meng Zhu

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

This adds a new enum for the update quota feature in
the master. When quota is configured through the
`UPDATE_QUOTA` operator call. The `UPDATE_QUOTA`
minimum capability will be persisted into the registry.
This will prevent any master downgrades until all quotas
are set back to defaults.


Diffs
-

  docs/downgrades.md 3807254143d19f36079498c1a01adf744e21e8a2 
  include/mesos/mesos.proto d2750a634bf58428a152e70aedfc06ff70b3aa84 
  src/common/protobuf_utils.hpp f6ea9230d38079b24060922872ee93d9f038b98e 
  src/master/constants.cpp 13b3467825c624fd3cb1652fbfec1a9631ca37e6 
  src/tests/master_tests.cpp d7b4613980cb13d2009426b3a07690aac659cda7 


Diff: https://reviews.apache.org/r/70949/diff/1/


Testing
---

make check


Thanks,

Meng Zhu



Review Request 70950: Added a registry field for `QuotaConfig`.

2019-06-25 Thread Meng Zhu

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

A new field called `quota_configs` is added to persist the
quota configurations of the cluster. This replaces the old
`quotas` field which is deprecated and will be removed
along with `SET_QUOTA` and `REMOVE_QUOTA` in Mesos 2.0.


Diffs
-

  src/master/registry.proto 239789322c45c6a8346332f50661a98b1851b685 


Diff: https://reviews.apache.org/r/70950/diff/1/


Testing
---

make check


Thanks,

Meng Zhu



Re: Review Request 70948: Attempting to get Jenkins pipeline build expiry fixed.

2019-06-25 Thread Gilbert Song

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


Ship it!




Ship It!

- Gilbert Song


On June 25, 2019, 5:16 p.m., Till Toenshoff wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70948/
> ---
> 
> (Updated June 25, 2019, 5:16 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Gilbert Song, and Vinod Kone.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Attempting to get Jenkins pipeline build expiry fixed.
> 
> 
> Diffs
> -
> 
>   support/jenkins/Jenkinsfile-packaging-centos 
> aa8f37f6cd661e767e55ca75095a91827ebedb21 
> 
> 
> Diff: https://reviews.apache.org/r/70948/diff/2/
> 
> 
> Testing
> ---
> 
> none - cannot test this without committing it right now
> 
> info for the option in use is taken from: 
> https://stackoverflow.com/a/53141684/91282
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>



Re: Review Request 70797: Added unit tests for hostname validation.

2019-06-25 Thread Benno Evers

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

(Updated June 26, 2019, 12:18 a.m.)


Review request for mesos, Alexander Rukletsov, Joseph Wu, and Till Toenshoff.


Summary (updated)
-

Added unit tests for hostname validation.


Repository: mesos


Description (updated)
---

While going through the existing tests to look for candidates
that would benefit from being tested for both hostname validation
schemes, I noticed a number of existing tests where test setup
did not quite match the comment or test name. I fixed these up
in the same review.


Diffs (updated)
-

  3rdparty/libprocess/src/tests/ssl_tests.cpp 
6b8496aeeed79ae1bd39d7013f4f403b248fdd4c 


Diff: https://reviews.apache.org/r/70797/diff/4/

Changes: https://reviews.apache.org/r/70797/diff/3-4/


Testing
---


Thanks,

Benno Evers



Re: Review Request 70948: Attempting to get Jenkins pipeline build expiry fixed.

2019-06-25 Thread Till Toenshoff via Review Board

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

(Updated June 26, 2019, 12:16 a.m.)


Review request for mesos, Benjamin Bannier, Gilbert Song, and Vinod Kone.


Repository: mesos


Description
---

Attempting to get Jenkins pipeline build expiry fixed.


Diffs (updated)
-

  support/jenkins/Jenkinsfile-packaging-centos 
aa8f37f6cd661e767e55ca75095a91827ebedb21 


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

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


Testing
---

none - cannot test this without committing it right now

info for the option in use is taken from: 
https://stackoverflow.com/a/53141684/91282


Thanks,

Till Toenshoff



Review Request 70948: Attempting to get Jenkins pipeline build expiry fixed.

2019-06-25 Thread Till Toenshoff via Review Board

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

Review request for mesos, Benjamin Bannier, Gilbert Song, and Vinod Kone.


Repository: mesos


Description
---

Attempting to get Jenkins pipeline build expiry fixed.


Diffs
-

  support/jenkins/Jenkinsfile-packaging-centos 
aa8f37f6cd661e767e55ca75095a91827ebedb21 


Diff: https://reviews.apache.org/r/70948/diff/1/


Testing
---

none - cannot test this without committing it right now

info for the option in use is taken from: 
https://stackoverflow.com/a/53141684/91282


Thanks,

Till Toenshoff



Re: Review Request 70924: Added registry operations for DE/RE-ACTIVATE_AGENT calls.

2019-06-25 Thread Mesos Reviewbot

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



Bad review!

Reviews applied: [70924, 70923, 70922, 70911, 70910, 70822]

Error:
2019-06-25 23:45:34 URL:https://reviews.apache.org/r/70911/diff/raw/ 
[15579/15579] -> "70911.patch" [1]
error: patch failed: src/internal/devolve.hpp:55
error: src/internal/devolve.hpp: patch does not apply

- Mesos Reviewbot


On June 21, 2019, 4:49 p.m., Joseph Wu wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70924/
> ---
> 
> (Updated June 21, 2019, 4:49 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Benjamin Mahler, Greg Mann, and 
> Vinod Kone.
> 
> 
> Bugs: MESOS-9814
> https://issues.apache.org/jira/browse/MESOS-9814
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This adds the associated registry operation and fields for the
> DEACTIVATE_AGENT and REACTIVATE_AGENT master calls.
> 
> Like the DRAIN_AGENT call, the deactivation state also persists when
> agents become unreachable/reachable, which is already handled by the
> DRAIN_AGENT operation implementation.
> 
> Likewise, this feature is not downgrade compatible, and a minimum
> capability is added when the deactivation feature is used.
> If all draining or deactivated agents are reactivated, the minimum
> capability is removed.
> 
> 
> Diffs
> -
> 
>   src/master/registry_operations.hpp 5a3010d46c4eddb0d660eb7368ec836903477a9b 
>   src/master/registry_operations.cpp c417c4d6c4272eeab15f5313ca5160d4a0aa4da4 
>   src/tests/registrar_tests.cpp 81979d78f1348791e28f1afea4ca2999de6362b8 
> 
> 
> Diff: https://reviews.apache.org/r/70924/diff/1/
> 
> 
> Testing
> ---
> 
> make check
> 
> 
> Thanks,
> 
> Joseph Wu
> 
>



Re: Review Request 70936: Adjusted task status updates during draining.

2019-06-25 Thread Greg Mann

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




src/slave/slave.cpp
Lines 5701 (patched)


s/KILLEd/KILLED/



src/slave/slave.cpp
Lines 5702 (patched)


s/drainInfo/drainConfig/

Here and elsewhere.



src/slave/slave.cpp
Lines 5721 (patched)


s/a/the/



src/tests/slave_tests.cpp
Lines 12109 (patched)


Maybe we should unconditionally set the reason to REASON_AGENT_DRAINING? It 
doesn't make sense to me that the reason received by the scheduler will depend 
on what stage the task launch was in when the drain message was received?



src/tests/slave_tests.cpp
Line 12251 (original), 12263 (patched)


Is the framework ID necessary? Would a `Future` suffice here?


- Greg Mann


On June 24, 2019, 2:03 p.m., Benjamin Bannier wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70936/
> ---
> 
> (Updated June 24, 2019, 2:03 p.m.)
> 
> 
> Review request for mesos, Greg Mann and Joseph Wu.
> 
> 
> Bugs: MESOS-9823
> https://issues.apache.org/jira/browse/MESOS-9823
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> When a task is reported as killed to the agent during active agent
> draining we now decorate the reported status with
> `REASON_AGENT_DRAINING` if no other status was previously present. If
> the draining marks the agent as gone via the `mark_gone` draining flag
> we additionally report `TASK_GONE_BY_OPERATOR` instead of the original
> state.
> 
> This patch leaves some ambiguity in what triggered the kill since the
> agent-executor protocol does not transport reasons; instead
> the reason is here only inferred after the killed task has
> been observed. This should usually be fine since due to the inherit race
> between e.g., any user- and drain-triggered kill a user cannot
> distinguish racy reasons.
> 
> 
> Diffs
> -
> 
>   src/slave/slave.cpp 30039b0857a4d85b4b96fa95d7f8724d57cdec6e 
>   src/tests/slave_tests.cpp c2035976713abb31b3646c0d23771fa40df93271 
> 
> 
> Diff: https://reviews.apache.org/r/70936/diff/1/
> 
> 
> Testing
> ---
> 
> `make check`
> 
> 
> Thanks,
> 
> Benjamin Bannier
> 
>



Re: Review Request 70912: Removed const ref lifetime extension use in `slave::state::recover`.

2019-06-25 Thread Greg Mann

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


Ship it!




Ship It!

- Greg Mann


On June 20, 2019, 9:44 p.m., Benjamin Bannier wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70912/
> ---
> 
> (Updated June 20, 2019, 9:44 p.m.)
> 
> 
> Review request for mesos and Greg Mann.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Removed const ref lifetime extension use in `slave::state::recover`.
> 
> 
> Diffs
> -
> 
>   src/slave/state.cpp b4bf6292eb482f4e99a27442af0ea03e31c1ddc2 
> 
> 
> Diff: https://reviews.apache.org/r/70912/diff/1/
> 
> 
> Testing
> ---
> 
> `make check`
> 
> 
> Thanks,
> 
> Benjamin Bannier
> 
>



Re: Review Request 70904: Added tests for task killing when draining the agent.

2019-06-25 Thread Greg Mann

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

(Updated June 25, 2019, 8:23 p.m.)


Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
Joseph Wu.


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


Repository: mesos


Description
---

Added tests for task killing when draining the agent.


Diffs (updated)
-

  src/tests/slave_tests.cpp c2035976713abb31b3646c0d23771fa40df93271 


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

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


Testing
---

`make check`
`bin/mesos-tests.sh --gtest_filter="*DrainAgent*" --gtest_repeat=-1 
--gtest_break_on_failure`


Thanks,

Greg Mann



Re: Review Request 70935: Sped up `SlaveTest.KillQueuedTaskDuringExecutorRegistration`.

2019-06-25 Thread Greg Mann

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


Ship it!




Ship It!

- Greg Mann


On June 24, 2019, 1:58 p.m., Benjamin Bannier wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70935/
> ---
> 
> (Updated June 24, 2019, 1:58 p.m.)
> 
> 
> Review request for mesos, Greg Mann and Vinod Kone.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch switches `SlaveTest.KillQueuedTaskDuringExecutorRegistration`
> to manual clock management with paused clock and manual clock advance.
> This speeds up the test by >25x from >5s to <200ms on my machine in a
> not-optimized build.
> 
> 
> Diffs
> -
> 
>   src/tests/slave_tests.cpp c2035976713abb31b3646c0d23771fa40df93271 
> 
> 
> Diff: https://reviews.apache.org/r/70935/diff/1/
> 
> 
> Testing
> ---
> 
> `make check`
>  
> * ran test for >200 iterations with `stress-ng --cpu=100 --io 20 --vm 60 
> --fork 100 --timeout  60s` on a 72 core machine (corresponds to a flake rate 
> <8% under heavy load)
> * ran test for >1700 iterations (corresponds to a flake rate <3.5%)
> 
> 
> Thanks,
> 
> Benjamin Bannier
> 
>



Re: Review Request 70903: Killed all tasks on the agent when draining.

2019-06-25 Thread Greg Mann

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

(Updated June 25, 2019, 8:12 p.m.)


Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
Joseph Wu.


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


Repository: mesos


Description
---

This patch updates the agent's `DrainSlaveMessage` handler
to kill all tasks on the agent when the message is received.


Diffs (updated)
-

  include/mesos/type_utils.hpp 57b1893160dbe874aa9fec00a3d1b640b9c54906 
  src/slave/slave.cpp 30039b0857a4d85b4b96fa95d7f8724d57cdec6e 


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

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


Testing
---

Testing details at the end of this chain.


Thanks,

Greg Mann



Re: Review Request 70944: Added a test for scheduler driver registering with a suppressed role.

2019-06-25 Thread Benjamin Mahler

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


Ship it!




Ship It!

- Benjamin Mahler


On June 25, 2019, 4:27 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70944/
> ---
> 
> (Updated June 25, 2019, 4:27 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9793
> https://issues.apache.org/jira/browse/MESOS-9793
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added a test for scheduler driver registering with a suppressed role.
> 
> 
> Diffs
> -
> 
>   src/tests/scheduler_driver_tests.cpp 
> 46af8d2c0fff15974b028521d1434e67bd9217da 
> 
> 
> Diff: https://reviews.apache.org/r/70944/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70903: Killed all tasks on the agent when draining.

2019-06-25 Thread Greg Mann


> On June 21, 2019, 5:28 p.m., Joseph Wu wrote:
> > src/slave/slave.cpp
> > Lines 1005-1009 (patched)
> > 
> >
> > Perhaps you can move this entire section and below into a separate 
> > `_drain()` continuation so that the recovery code an re-use it.
> > 
> > I'm expecting the recovery to set `drainInfo` separately, but then need 
> > to start killing (this code) again.

The way BBannier wrote the recovery code, it just re-processes the entire 
`DrainSlaveMessage`, so I think this is OK as-is for now.


- Greg


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


On June 19, 2019, 7:07 p.m., Greg Mann wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70903/
> ---
> 
> (Updated June 19, 2019, 7:07 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
> Joseph Wu.
> 
> 
> Bugs: MESOS-9821
> https://issues.apache.org/jira/browse/MESOS-9821
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch updates the agent's `DrainSlaveMessage` handler
> to kill all tasks on the agent when the message is received.
> 
> 
> Diffs
> -
> 
>   include/mesos/type_utils.hpp 57b1893160dbe874aa9fec00a3d1b640b9c54906 
>   src/slave/slave.cpp 30039b0857a4d85b4b96fa95d7f8724d57cdec6e 
> 
> 
> Diff: https://reviews.apache.org/r/70903/diff/1/
> 
> 
> Testing
> ---
> 
> Testing details at the end of this chain.
> 
> 
> Thanks,
> 
> Greg Mann
> 
>



Re: Review Request 70836: Added test for DrainConfig in agent API outputs.

2019-06-25 Thread Greg Mann


> On June 14, 2019, 9:59 a.m., Benjamin Bannier wrote:
> > src/tests/slave_tests.cpp
> > Lines 11785-11786 (patched)
> > 
> >
> > Do we want to add e.g., tasks into this test later? As written it would 
> > fit better into the API tests (though they have pretty bad scope creep).
> 
> Greg Mann wrote:
> Yea I'm not sure how this test will evolve as the master-side 
> functionality is added; it's possible that we will want to move the API 
> verification from this test into another one. I didn't put it in the API 
> tests because the AgentAPITest fixture is parametrized by content type for v1 
> API requests, and since this tests both v0 and v1 API outputs, it seemed like 
> an awkward fit?

I think it's OK to merge this test as-is for now, and update or erase as 
appropriate when the master-side code is merged.


- Greg


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


On June 25, 2019, 8 p.m., Greg Mann wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70836/
> ---
> 
> (Updated June 25, 2019, 8 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
> Joseph Wu.
> 
> 
> Bugs: MESOS-9818
> https://issues.apache.org/jira/browse/MESOS-9818
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added test for DrainConfig in agent API outputs.
> 
> 
> Diffs
> -
> 
>   src/tests/slave_tests.cpp c2035976713abb31b3646c0d23771fa40df93271 
> 
> 
> Diff: https://reviews.apache.org/r/70836/diff/3/
> 
> 
> Testing
> ---
> 
> `make check`
> `bin/mesos-tests.sh --gtest_filter="*DrainInfoInAPIOutputs*" 
> --gtest_repeat=-1 --gtest_break_on_failure`
> 
> 
> Thanks,
> 
> Greg Mann
> 
>



Re: Review Request 70836: Added test for DrainConfig in agent API outputs.

2019-06-25 Thread Greg Mann

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

(Updated June 25, 2019, 8 p.m.)


Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
Joseph Wu.


Summary (updated)
-

Added test for DrainConfig in agent API outputs.


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


Repository: mesos


Description (updated)
---

Added test for DrainConfig in agent API outputs.


Diffs (updated)
-

  src/tests/slave_tests.cpp c2035976713abb31b3646c0d23771fa40df93271 


Diff: https://reviews.apache.org/r/70836/diff/3/

Changes: https://reviews.apache.org/r/70836/diff/2-3/


Testing
---

`make check`
`bin/mesos-tests.sh --gtest_filter="*DrainInfoInAPIOutputs*" --gtest_repeat=-1 
--gtest_break_on_failure`


Thanks,

Greg Mann



Re: Review Request 70835: Added the DrainConfig to agent API outputs.

2019-06-25 Thread Greg Mann

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

(Updated June 25, 2019, 7:59 p.m.)


Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
Joseph Wu.


Summary (updated)
-

Added the DrainConfig to agent API outputs.


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


Repository: mesos


Description (updated)
---

Added the DrainConfig to agent API outputs.


Diffs (updated)
-

  include/mesos/agent/agent.proto 83eb7bbe071fe4f118c38252bd1759ac90fc9c33 
  include/mesos/v1/agent/agent.proto f6574cbb899f3ffca9f5f07f1a235c01cf97912e 
  src/slave/http.cpp 69e6d74e8b113cc6c937f47df8984ff9a63e5bb4 


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

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


Testing
---

Testing details at the end of this chain.


Thanks,

Greg Mann



Re: Review Request 70943: Added scheduler driver constructors which set initial suppressed roles.

2019-06-25 Thread Benjamin Mahler

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


Ship it!




- Benjamin Mahler


On June 25, 2019, 4:26 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70943/
> ---
> 
> (Updated June 25, 2019, 4:26 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9793
> https://issues.apache.org/jira/browse/MESOS-9793
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added scheduler driver constructors which set initial suppressed roles.
> 
> 
> Diffs
> -
> 
>   include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
>   src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 
> 
> 
> Diff: https://reviews.apache.org/r/70943/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70834: Added minimal agent handler for 'DrainSlaveMessage'.

2019-06-25 Thread Greg Mann

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

(Updated June 25, 2019, 7:58 p.m.)


Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, and 
Joseph Wu.


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


Repository: mesos


Description
---

This patch adds a minimal handler to the agent for the
`DrainSlaveMessage`. This handler will later be extended
to implement the full functionality.


Diffs (updated)
-

  src/slave/paths.hpp ad768267e6a3c105eab4b36b05351d175d720eaf 
  src/slave/paths.cpp 1163c88eefd2a9e99b56817a3f515a23ee6e3903 
  src/slave/slave.hpp 6954f53ff1531b9fcb688ef76acddf6a3d849a41 
  src/slave/slave.cpp 30039b0857a4d85b4b96fa95d7f8724d57cdec6e 


Diff: https://reviews.apache.org/r/70834/diff/5/

Changes: https://reviews.apache.org/r/70834/diff/4-5/


Testing
---

Testing details at the end of this chain.


Thanks,

Greg Mann



Re: Review Request 70822: Added common protobufs for agent draining.

2019-06-25 Thread Greg Mann


> On June 14, 2019, 9:34 a.m., Benjamin Bannier wrote:
> > src/messages/messages.proto
> > Lines 986 (patched)
> > 
> >
> > What does it mean if the master sends a `DRAINED` state to the agent? 
> > Is that something we need to reject in validation?
> > 
> > Does it maybe make sense to instead break out `DrainInfo.state` into 
> > its own message to use in state reporting?
> 
> Greg Mann wrote:
> Yes we can have a CHECK on the agent to make sure the master doesn't send 
> DRAINED in a DrainSlaveMessage. That will happen in another patch.
> 
> What's the benefit of moving `DrainInfo.State` outside of `DrainInfo`?
> 
> Benjamin Bannier wrote:
> The goal would be to use dedicated messages for triggering draining 
> (master->agent) and to report draining (agent->master). That might not only 
> be conceptually simplier, but would likely also lead to simpler, less 
> redundant code. Is there any benefit in using the same message?
> 
> Greg Mann wrote:
> What do you mean by "report draining"? The design doesn't involve any 
> explicit communication of draining progress between agent and master, the 
> master just receives task status updates.
> 
> Benjamin Bannier wrote:
> Sorry, there's no process of communicating `DrainInfo` back to master, 
> but we do report it to users with https://reviews.apache.org/r/70835/.
> 
> Greg Mann wrote:
> Are you proposing having a separate message for inclusion in the agent 
> API outputs?
> 
> Vinod Kone wrote:
> IIUC, Benjamin is questioning why we are storing both the spec (max grace 
> period, mark_gone) and the status (state) in the same proto (do we do this 
> elsewhere in the code base?). If they were separate protos, say DrainRequest 
> and DrainStatus, master would send DrainRequest to the agent, and show 
> DrainStatus (and possibly DrainRequest) in the operator API response. It 
> looks a bit weird that we would send DrainInfo (as it is currently written  
> to the agent and do a CHECK on valid state. The fact that an agent got a 
> Drain message is enough for the agent to know that it needs to drain, it 
> doesn't need to look into the `DrainInfo::State`?
> 
> Vinod Kone wrote:
> Let me repharse my first sentence. I think storing both spec and status 
> in the same proto is probably fine if it makes thing easy to expose in API 
> endpoints and use it internally in the master. But I still think it's weird 
> to send the status in a message to the agent which is not expected to use it. 
> So, if there's a way we can avoid it that would be great.
> 
> Joseph Wu wrote:
> From the master's perspective, having the `State` in the DrainInfo 
> complicates what the master needs to do in the registry.  To report the 
> correct state to any endpoints, the master will need to assume all agents are 
> in a `DRAINING` state, until the agent connects, reconciles, and says it has 
> nothing running.  This means the state within the registry will always be 
> `DRAINING` (and there is no reason to transition that state).
> 
> So moving the `State` field into a separate message would be ideal.
> 
> Greg Mann wrote:
> It definitely makes sense to me that the agent doesn't need to receive a 
> drain state, so the `DrainSlaveMessage` shouldn't include that information. 
> But we could just include the max grace period and the mark_gone bit in the 
> `DrainSlaveMessage`, without moving the drain state outside of `DrainInfo`.
> 
> I think the question is, will we make use of the drain state outside of 
> the `DrainInfo` message? I don't have any use cases in mind for that 
> currently, but maybe I'm missing something? Or maybe it's best to have a 
> separate `DrainState` enum in case we want to use it outside of `DrainInfo` 
> in the future?

I split out the state into a top-level `DrainState` enum.


- Greg


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


On June 25, 2019, 7:56 p.m., Greg Mann wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70822/
> ---
> 
> (Updated June 25, 2019, 7:56 p.m.)
> 
> 
> Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, 
> Joseph Wu, and Vinod Kone.
> 
> 
> Bugs: MESOS-9753
> https://issues.apache.org/jira/browse/MESOS-9753
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch makes protobuf message updates which will be used
> by both the master and the agent to facilitate automatic
> draining of agents.
> 
> 
> Diffs
> -
> 
>   include/mesos/mesos.proto d2750a634bf58428a152e70aedfc06ff70b3aa84 
>   include/mesos

Re: Review Request 70822: Added common protobufs for agent draining.

2019-06-25 Thread Greg Mann

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

(Updated June 25, 2019, 7:56 p.m.)


Review request for mesos, Benjamin Bannier, Benno Evers, Benjamin Mahler, 
Joseph Wu, and Vinod Kone.


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


Repository: mesos


Description
---

This patch makes protobuf message updates which will be used
by both the master and the agent to facilitate automatic
draining of agents.


Diffs (updated)
-

  include/mesos/mesos.proto d2750a634bf58428a152e70aedfc06ff70b3aa84 
  include/mesos/type_utils.hpp 57b1893160dbe874aa9fec00a3d1b640b9c54906 
  include/mesos/v1/mesos.proto 10dc29cd98b4c1fc1016755edeaf8cfae399bd78 
  src/common/type_utils.cpp ef1b3ea15cde1c7a8e0735fb9d7566dd1fd2cfdb 
  src/internal/devolve.hpp fefe86e450fa5083b9ff50e92f4594ffb30a54c8 
  src/internal/devolve.cpp 1d300b49d5cc3de4b8ed409902eb881c7afc07ea 
  src/internal/evolve.hpp 1044d9df75b6fc1f60d3704be9cb5751e6d4321d 
  src/internal/evolve.cpp 19c155967bf090fb2ec39211805ff1385787ab59 
  src/messages/messages.proto e30ad34cc9212b05f85ba5e1d4fcfc9e49ae92c0 


Diff: https://reviews.apache.org/r/70822/diff/6/

Changes: https://reviews.apache.org/r/70822/diff/5-6/


Testing
---

`make`


Thanks,

Greg Mann



Re: Review Request 70947: Added `reviveOffers(roles)` to V0 Java bindings.

2019-06-25 Thread Benjamin Mahler

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




src/java/src/org/apache/mesos/SchedulerDriver.java
Lines 275 (patched)


Can you clarify that if an empty list is passed, all roles will be revived? 
Ditto for any other places in other reviews that need this documented.


- Benjamin Mahler


On June 25, 2019, 4:23 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70947/
> ---
> 
> (Updated June 25, 2019, 4:23 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9849
> https://issues.apache.org/jira/browse/MESOS-9849
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added `reviveOffers(roles)` to V0 Java bindings.
> 
> 
> Diffs
> -
> 
>   src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
> a21aca23cbef27b3c54bf1ae5834cbb457608130 
>   src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
> 55ebc8772d9183286c908b4dba342109f28394f4 
>   src/java/src/org/apache/mesos/SchedulerDriver.java 
> ee5a9e24956299d84ff03a0fc5a22e641470a03f 
> 
> 
> Diff: https://reviews.apache.org/r/70947/diff/1/
> 
> 
> Testing
> ---
> 
> `./bin/mesos-tests.sh --gtest_filter="ExamplesTest.JavaFramework" 
> --gtest_break_on_failure --gtest_repeat=10` with a patch from 
> https://reviews.apache.org/r/70946/
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70942: Added a test for 'reviveOffers(roles)'.

2019-06-25 Thread Benjamin Mahler

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



Test looks good thanks! Just a minor comment below about the order of arguments 
to ASSERT_EQ.


src/tests/scheduler_driver_tests.cpp
Lines 450-454 (patched)


newline between comment paragraphs, and we try to wrap more evenly if 
possible:

```
// This test ensures that reviveOffers() can unsuppress one
// role of a multi-role framework.
// 
// We subscribe a framework with two roles, decline offers
// for both, call reviveOffers() for the second role and
// check that only the first one is filtered after that.
```



src/tests/scheduler_driver_tests.cpp
Lines 497 (patched)


I may have missed this before on your reviews, but ASSERT_EQ / EXPECT_EQ 
take (expected, actual), so flip these arguments around:

```
  ASSERT_EQ(1u, offers1->size());
```



src/tests/scheduler_driver_tests.cpp
Lines 514-516 (patched)


This seems unnecessary?



src/tests/scheduler_driver_tests.cpp
Lines 526-527 (patched)


Ditto for expected vs actual being flipped here and elsewhere


- Benjamin Mahler


On June 25, 2019, 4:19 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70942/
> ---
> 
> (Updated June 25, 2019, 4:19 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9849
> https://issues.apache.org/jira/browse/MESOS-9849
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added a test for 'reviveOffers(roles)'.
> 
> 
> Diffs
> -
> 
>   src/tests/scheduler_driver_tests.cpp 
> 46af8d2c0fff15974b028521d1434e67bd9217da 
> 
> 
> Diff: https://reviews.apache.org/r/70942/diff/2/
> 
> 
> Testing
> ---
> 
> `./bin/mesos-tests.sh 
> --gtest_filter="MesosSchedulerDriverTest*ReviveSingleRole*" 
> --gtest_break_on_failure --gtest_repeat=1000`
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70941: Added to the scheduler driver a method to revive a subset of roles.

2019-06-25 Thread Benjamin Mahler

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



Looks good, just some minor suggestions below


src/sched/sched.cpp
Line 1439 (original), 1440 (patched)


I don't think we need the option here. In the protobuf, we treat the empty 
list of Revive.roles to mean all roles, we can do that here too to be 
consistent.



src/sched/sched.cpp
Lines 1445 (patched)


`*roles`



src/sched/sched.cpp
Line 2281 (original), 2293 (patched)


Per comment above, this can pass in the empty list to be more consistent 
with the protobuf api.



src/sched/sched.cpp
Lines 2300 (patched)


`s/roles_/roles/`


- Benjamin Mahler


On June 25, 2019, 3:57 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70941/
> ---
> 
> (Updated June 25, 2019, 3:57 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9849
> https://issues.apache.org/jira/browse/MESOS-9849
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch adds to the scheduler driver a 'reviveOffers(roles)' method,
> which sends the REVIVE call for these roles and removes them from the
> suppressed roles set.
> 
> 
> Diffs
> -
> 
>   include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
>   src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 
> 
> 
> Diff: https://reviews.apache.org/r/70941/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70945: Added a constructor with a list of suppressed roles to Java V0 bindings.

2019-06-25 Thread Benjamin Mahler

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




src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
Lines 553-554 (patched)


Let's be specific:

To be backwards compatible the lack of the field means we use an empty set, 
as before.



src/java/src/org/apache/mesos/MesosSchedulerDriver.java
Lines 260-265 (patched)


Why only this overload? What if the caller doesn't have a credential to 
pass? E.g. `implicitAcknowledgements` was added to both credential and 
non-credential constructors.

(we should really have a builder style api here)


- Benjamin Mahler


On June 25, 2019, 4:28 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70945/
> ---
> 
> (Updated June 25, 2019, 4:28 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9849
> https://issues.apache.org/jira/browse/MESOS-9849
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added a constructor with a list of suppressed roles to Java V0 bindings.
> 
> 
> Diffs
> -
> 
>   src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
> a21aca23cbef27b3c54bf1ae5834cbb457608130 
>   src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
> 55ebc8772d9183286c908b4dba342109f28394f4 
> 
> 
> Diff: https://reviews.apache.org/r/70945/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70895: Added a test for supperssing roles via V0 updateFramework().

2019-06-25 Thread Benjamin Mahler

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



s/supperssing/suppressing/

Looks good, just wondering why the settle.


src/tests/master/update_framework_tests.cpp
Lines 970 (patched)


s/std:://



src/tests/master/update_framework_tests.cpp
Lines 985 (patched)


s/std:://



src/tests/master/update_framework_tests.cpp
Lines 992-996 (patched)


The framework update already occurred, and it may be in the allocator's 
queue, but that's fine. Why is this settling?


- Benjamin Mahler


On June 25, 2019, 3:30 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70895/
> ---
> 
> (Updated June 25, 2019, 3:30 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9793
> https://issues.apache.org/jira/browse/MESOS-9793
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added a test for supperssing roles via V0 updateFramework().
> 
> 
> Diffs
> -
> 
>   src/tests/master/update_framework_tests.cpp 
> 0d466e286adfd829bbe72cff9202860f7fcb043f 
> 
> 
> Diff: https://reviews.apache.org/r/70895/diff/2/
> 
> 
> Testing
> ---
> 
> `./bin/mesos-tests.sh --gtest_filter="UpdateFrameworkV0*SuppressedRoles" 
> --gtest_break_on_failure --gtest_repeat=1000`
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70897: Supported suppressedRoles in updateFramework() in V0 Java bindings.

2019-06-25 Thread Benjamin Mahler

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


Fix it, then Ship it!





src/java/src/org/apache/mesos/MesosSchedulerDriver.java
Line 301 (original), 301-302 (patched)


what's with the wrapping here?


- Benjamin Mahler


On June 25, 2019, 3:29 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70897/
> ---
> 
> (Updated June 25, 2019, 3:29 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9793
> https://issues.apache.org/jira/browse/MESOS-9793
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Supported suppressedRoles in updateFramework() in V0 Java bindings.
> 
> 
> Diffs
> -
> 
>   src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
> a21aca23cbef27b3c54bf1ae5834cbb457608130 
>   src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
> 55ebc8772d9183286c908b4dba342109f28394f4 
>   src/java/src/org/apache/mesos/SchedulerDriver.java 
> ee5a9e24956299d84ff03a0fc5a22e641470a03f 
> 
> 
> Diff: https://reviews.apache.org/r/70897/diff/2/
> 
> 
> Testing
> ---
> 
> `./bin/mesos-tests.sh --gtest_filter="ExamplesTest.JavaFramework" 
> --gtest_break_on_failure --gtest_repeat=10` with a patch from 
> https://reviews.apache.org/r/70815/
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Re: Review Request 70894: Provided ability to change suppressed roles via V0 updateFramework().

2019-06-25 Thread Benjamin Mahler

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



Thanks for the update. Why not update suppressOffers in this patch? What's the 
revert concern about? It seems we either need both updated in this patch or we 
need another patch for suppressOffers that immediately follows this. I would 
prefer to have this patch introduce the suppress roles set, which means 
updating reviveOffers/suppressOffers/updateFramework in this patch.


include/mesos/scheduler.hpp
Lines 290-293 (patched)


// NOTE: if the framework is not connected to the master, the suppressed
// roles set stored by the driver will be cleared and the next 
re-registration
// will send an empty suppressed roles list.



include/mesos/scheduler.hpp
Lines 295-297 (patched)


Hm.. I don't understand what this TODO is about



include/mesos/scheduler.hpp
Lines 303-307 (patched)


This is a little vague, do you mean to have it clear the suppressed roles 
list? It seems you've already expressed in the review commentary that you are 
planning to update this in a separate patch?

Why not make them consistent in this patch? At the very least I would want 
to commit them together, it seems inconsistent to only update reviveOffers to 
clear the supppressed set, but not suppressOffers?



include/mesos/scheduler.hpp
Lines 352 (patched)


Why the default here?



include/mesos/scheduler.hpp
Lines 492 (patched)


Ditto here, why the default?



src/java/src/org/apache/mesos/SchedulerDriver.java
Lines 260-263 (patched)


Ditto here



src/python/interface/src/mesos/interface/__init__.py
Lines 246-249 (patched)


Ditto here



src/sched/sched.cpp
Lines 1441 (patched)


No periods in log messages.

Looks like other messages of this nature are at VLOG(2)?

Can you make it consistent with other logging below?

```
 void reviveOffers()
  {
suppressedRoles.clear();

if (!connected) {
  VLOG(1) << "Ignoring REVIVE as master is disconnected: "
  << "The scheduler will have all roles unsuppressed during"
  << " the next re-registration";
  
  sendUpdateFrameworkOnConnect = true;
  return;
}

VLOG(2) << "Asked to REVIVE for all roles";
```



src/sched/sched.cpp
Lines 1446 (patched)


REVIVE

disconected: An ...

also prefer spaces at the start of the line rather than the end of the 
line, makes it easier to read that spaces weren't missed


- Benjamin Mahler


On June 25, 2019, 3:28 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70894/
> ---
> 
> (Updated June 25, 2019, 3:28 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9793
> https://issues.apache.org/jira/browse/MESOS-9793
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch adds a list of suppressed roles to the arguments of
> scheduler driver's updateFramework() method to make it possible
> for V0 frameworks to selectively suppress/revive offers.
> 
> To keep re-registration conststent with updateFramework(), the required
> set of suppressed roles is now stored by the driver and used when it
> re-registers.
> 
> To keep reviveOffers() consistent with re-registration, reviveOffers()
> now clears the stored set and, when issued in a disconnected state of
> the driver, forces it to perform UPDATE_FRAMEWORK call upon
> re-connection.
> 
> NOTE: suppressOffers() has never been consistent with re-registration
> in this regard. Making it constent with re-registration might affect
> the behavior of existing frameworks, and will be performed in a separate
> patch.
> 
> 
> Diffs
> -
> 
>   include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
>   src/java/src/org/apache/mesos/SchedulerDriver.java 
> ee5a9e24956299d84ff03a0fc5a22e641470a03f 
>   src/python/interface/src/mesos/interface/__init__.py 
> f9642a0452e3161f3fd1b6a5d7ce0658d08c0b87 
>   src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 
> 
> 
> Diff: https://reviews.apache.org/r/70894/diff/2/
> 
> 
> Testing
> ---
> 
> make check
> `./bin/me

Re: Review Request 70916: Replaced `Quota` with `Quota2` in the master state.

2019-06-25 Thread Benjamin Mahler

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


Fix it, then Ship it!





src/master/quota_handler.cpp
Lines 375-379 (patched)


Is something going to change here that we should document? Some more 
context would be helpful



src/master/quota_handler.cpp
Line 736 (original), 753-755 (patched)


A bit more context in the comment for the reader would be helpful, e.g. is 
this going to stay as is because a new action type is in place for the new api?



src/master/quota_handler.cpp
Lines 758 (patched)


const auto&


- Benjamin Mahler


On June 24, 2019, 10:22 p.m., Meng Zhu wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70916/
> ---
> 
> (Updated June 24, 2019, 10:22 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9807
> https://issues.apache.org/jira/browse/MESOS-9807
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This paves way to remove `struct Quota`.
> 
> 
> Diffs
> -
> 
>   src/master/master.hpp 7acaa8264eb7a37e17394bc4940971f872ab2de3 
>   src/master/master.cpp d15b2d9dbc79e95c15b689f29f88cebb76f94dd8 
>   src/master/quota_handler.cpp 854189cd052cc88b4dc0ade72c63ac9a1b0bcbb5 
>   src/master/readonly_handler.cpp d62f139ed25dc6d03e91f76bf6574ad8c3c6baa0 
> 
> 
> Diff: https://reviews.apache.org/r/70916/diff/3/
> 
> 
> Testing
> ---
> 
> make check
> 
> 
> Thanks,
> 
> Meng Zhu
> 
>



Re: Review Request 70939: Updated the UI to show quota limits differently from guarantees.

2019-06-25 Thread Benjamin Mahler

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


Ship it!




Ship It!

- Benjamin Mahler


On June 24, 2019, 11:24 p.m., Meng Zhu wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70939/
> ---
> 
> (Updated June 24, 2019, 11:24 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-8486
> https://issues.apache.org/jira/browse/MESOS-8486
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Previously, guarantees also acts as limits. But now limits are
> decoupled from guarantees. This patch updates the UI to display
> them separated based on the `/roles` response.
> 
> 
> Diffs
> -
> 
>   src/webui/app/roles/roles.html 8dc4d8e628a7086374ef7b9d18da2e316b18712d 
> 
> 
> Diff: https://reviews.apache.org/r/70939/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Meng Zhu
> 
>



Re: Review Request 70894: Provided ability to change suppressed roles via V0 updateFramework().

2019-06-25 Thread Andrei Sekretenko


> On June 19, 2019, 10:54 p.m., Benjamin Mahler wrote:
> > Hm.. there's a relationship between the 'suppressedRoles' list and the 
> > reviveOffers() / suppressOffers() calls.
> > 
> > For example, if I call reviveOffers(), I would then expect that 
> > 'suppressedRoles' will be cleared and won't be sent if a re-registration 
> > happens under the covers due to a disconnection, e.g.
> > 
> > ```
> > updateFramework(f, ["role1", "role2"]); // UPDATE_FRAMEWORK is sent
> > reviveOffers(); // REVIVE is sent, logically the master moves the 
> > suppressed roles from ["role1", "role2"] to []!
> > // disconnection and re-registration happens
> > // at this point, the driver should send [] as suppressed, since the 
> > scheduler unsuppressed all roles
> > // (but it sends ["role1", "role2"] in this patch)
> > ```
> > 
> > Similarly for suppressOffers() where all of the roles become suppressed.
> > 
> > If we add role(s) arguments to reviveOffers() / suppressOffers() then they 
> > would be removing items from the suppressed set rather than clearing and 
> > assigning it entirely.
> 
> Andrei Sekretenko wrote:
> Good point.
> 
> Now I'm wondering if the already existing behaviour of suppressOffers() + 
> reconnection is valid. 
> Consder a similar chain of events:
> - framework starts the driver
> - framework calls suppressOffers()
> - due to some reason, driver reconnects (to the same master or to the new 
> one), all roles are active again
> 
> Is this a desired behaviour, or something that existing frameworks all 
> have to prevent on their own? (By calling suppressOffers() on reregistered(), 
> I would guess ?..)

I've added storing the suppressed roles (as a set - this will be needed in the 
next patches) and clearing them in `reviveOffers()`. 
`suppressOffers()` will be addressed in a separate patch, as it might affect 
behavior of existing frameworks and we might have to revert that patch and 
deprecate `suppressOffers()` instead.


- Andrei


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


On June 25, 2019, 3:28 p.m., Andrei Sekretenko wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70894/
> ---
> 
> (Updated June 25, 2019, 3:28 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Bugs: MESOS-9793
> https://issues.apache.org/jira/browse/MESOS-9793
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch adds a list of suppressed roles to the arguments of
> scheduler driver's updateFramework() method to make it possible
> for V0 frameworks to selectively suppress/revive offers.
> 
> To keep re-registration conststent with updateFramework(), the required
> set of suppressed roles is now stored by the driver and used when it
> re-registers.
> 
> To keep reviveOffers() consistent with re-registration, reviveOffers()
> now clears the stored set and, when issued in a disconnected state of
> the driver, forces it to perform UPDATE_FRAMEWORK call upon
> re-connection.
> 
> NOTE: suppressOffers() has never been consistent with re-registration
> in this regard. Making it constent with re-registration might affect
> the behavior of existing frameworks, and will be performed in a separate
> patch.
> 
> 
> Diffs
> -
> 
>   include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
>   src/java/src/org/apache/mesos/SchedulerDriver.java 
> ee5a9e24956299d84ff03a0fc5a22e641470a03f 
>   src/python/interface/src/mesos/interface/__init__.py 
> f9642a0452e3161f3fd1b6a5d7ce0658d08c0b87 
>   src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 
> 
> 
> Diff: https://reviews.apache.org/r/70894/diff/2/
> 
> 
> Testing
> ---
> 
> make check
> `./bin/mesos-tests.sh --gtest_filter="UpdateFrameworkV0*" 
> --gtest_break_on_failure --gtest_repeat=1000`
> 
> +a new test from the depending patch
> 
> 
> Thanks,
> 
> Andrei Sekretenko
> 
>



Review Request 70946: WIP: Added reviveOffers() and the new constructor to Java TestFramework.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos.


Bugs: MESOS-9793 and MESOS-9849
https://issues.apache.org/jira/browse/MESOS-9793
https://issues.apache.org/jira/browse/MESOS-9849


Repository: mesos


Description
---

WIP: Added reviveOffers() and the new constructor to Java TestFramework.


Diffs
-

  src/examples/java/TestFramework.java c8b0ceacd1305f7ff67f2ef490e14513d2757f5a 


Diff: https://reviews.apache.org/r/70946/diff/1/


Testing
---

`./bin/mesos-tests.sh --gtest_filter="ExamplesTest.JavaFramework" 
--gtest_break_on_failure --gtest_repeat=10`


Thanks,

Andrei Sekretenko



Review Request 70944: Added a test for scheduler driver registering with a suppressed role.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

Added a test for scheduler driver registering with a suppressed role.


Diffs
-

  src/tests/scheduler_driver_tests.cpp 46af8d2c0fff15974b028521d1434e67bd9217da 


Diff: https://reviews.apache.org/r/70944/diff/1/


Testing
---


Thanks,

Andrei Sekretenko



Review Request 70945: Added a constructor with a list of suppressed roles to Java V0 bindings.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

Added a constructor with a list of suppressed roles to Java V0 bindings.


Diffs
-

  src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
a21aca23cbef27b3c54bf1ae5834cbb457608130 
  src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
55ebc8772d9183286c908b4dba342109f28394f4 


Diff: https://reviews.apache.org/r/70945/diff/1/


Testing
---


Thanks,

Andrei Sekretenko



Review Request 70943: Added scheduler driver constructors which set initial suppressed roles.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

Added scheduler driver constructors which set initial suppressed roles.


Diffs
-

  include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
  src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 


Diff: https://reviews.apache.org/r/70943/diff/1/


Testing
---


Thanks,

Andrei Sekretenko



Review Request 70947: Added `reviveOffers(roles)` to V0 Java bindings.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

Added `reviveOffers(roles)` to V0 Java bindings.


Diffs
-

  src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
a21aca23cbef27b3c54bf1ae5834cbb457608130 
  src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
55ebc8772d9183286c908b4dba342109f28394f4 
  src/java/src/org/apache/mesos/SchedulerDriver.java 
ee5a9e24956299d84ff03a0fc5a22e641470a03f 


Diff: https://reviews.apache.org/r/70947/diff/1/


Testing
---


Thanks,

Andrei Sekretenko



Re: Review Request 70942: Added a test for 'reviveOffers(roles)'.

2019-06-25 Thread Andrei Sekretenko

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

(Updated June 25, 2019, 4:19 p.m.)


Review request for mesos and Benjamin Mahler.


Changes
---

Moved stray files into an appropriate patch.


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


Repository: mesos


Description
---

Added a test for 'reviveOffers(roles)'.


Diffs (updated)
-

  src/tests/scheduler_driver_tests.cpp 46af8d2c0fff15974b028521d1434e67bd9217da 


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

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


Testing (updated)
---

`./bin/mesos-tests.sh 
--gtest_filter="MesosSchedulerDriverTest*ReviveSingleRole*" 
--gtest_break_on_failure --gtest_repeat=1000`


Thanks,

Andrei Sekretenko



Review Request 70942: Added a test for 'reviveOffers(roles)'.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

Added a test for 'reviveOffers(roles)'.


Diffs
-

  src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
a21aca23cbef27b3c54bf1ae5834cbb457608130 
  src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
55ebc8772d9183286c908b4dba342109f28394f4 
  src/java/src/org/apache/mesos/SchedulerDriver.java 
ee5a9e24956299d84ff03a0fc5a22e641470a03f 
  src/tests/scheduler_driver_tests.cpp 46af8d2c0fff15974b028521d1434e67bd9217da 


Diff: https://reviews.apache.org/r/70942/diff/1/


Testing
---


Thanks,

Andrei Sekretenko



Review Request 70941: Added to the scheduler driver a method to revive a subset of roles.

2019-06-25 Thread Andrei Sekretenko

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

Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

This patch adds to the scheduler driver a 'reviveOffers(roles)' method,
which sends the REVIVE call for these roles and removes them from the
suppressed roles set.


Diffs
-

  include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
  src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 


Diff: https://reviews.apache.org/r/70941/diff/1/


Testing
---


Thanks,

Andrei Sekretenko



[GitHub] [mesos] bbannier merged pull request #337: Removed executable bit from files which should be `source`'d.

2019-06-25 Thread GitBox
bbannier merged pull request #337: Removed executable bit from files which 
should be `source`'d.
URL: https://github.com/apache/mesos/pull/337
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


Re: Review Request 70897: Supported suppressedRoles in updateFramework() in V0 Java bindings.

2019-06-25 Thread Andrei Sekretenko

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

(Updated June 25, 2019, 3:29 p.m.)


Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description
---

Supported suppressedRoles in updateFramework() in V0 Java bindings.


Diffs (updated)
-

  src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
a21aca23cbef27b3c54bf1ae5834cbb457608130 
  src/java/src/org/apache/mesos/MesosSchedulerDriver.java 
55ebc8772d9183286c908b4dba342109f28394f4 
  src/java/src/org/apache/mesos/SchedulerDriver.java 
ee5a9e24956299d84ff03a0fc5a22e641470a03f 


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

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


Testing
---

`./bin/mesos-tests.sh --gtest_filter="ExamplesTest.JavaFramework" 
--gtest_break_on_failure --gtest_repeat=10` with a patch from 
https://reviews.apache.org/r/70815/


Thanks,

Andrei Sekretenko



Re: Review Request 70895: Added a test for supperssing roles via V0 updateFramework().

2019-06-25 Thread Andrei Sekretenko

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

(Updated June 25, 2019, 3:30 p.m.)


Review request for mesos and Benjamin Mahler.


Summary (updated)
-

Added a test for supperssing roles via V0 updateFramework().


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


Repository: mesos


Description (updated)
---

Added a test for supperssing roles via V0 updateFramework().


Diffs (updated)
-

  src/tests/master/update_framework_tests.cpp 
0d466e286adfd829bbe72cff9202860f7fcb043f 


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

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


Testing
---

`./bin/mesos-tests.sh --gtest_filter="UpdateFrameworkV0*SuppressedRoles" 
--gtest_break_on_failure --gtest_repeat=1000`


Thanks,

Andrei Sekretenko



Re: Review Request 70894: Provided ability to change suppressed roles via V0 updateFramework().

2019-06-25 Thread Andrei Sekretenko

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

(Updated June 25, 2019, 3:28 p.m.)


Review request for mesos and Benjamin Mahler.


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


Repository: mesos


Description (updated)
---

This patch adds a list of suppressed roles to the arguments of
scheduler driver's updateFramework() method to make it possible
for V0 frameworks to selectively suppress/revive offers.

To keep re-registration conststent with updateFramework(), the required
set of suppressed roles is now stored by the driver and used when it
re-registers.

To keep reviveOffers() consistent with re-registration, reviveOffers()
now clears the stored set and, when issued in a disconnected state of
the driver, forces it to perform UPDATE_FRAMEWORK call upon
re-connection.

NOTE: suppressOffers() has never been consistent with re-registration
in this regard. Making it constent with re-registration might affect
the behavior of existing frameworks, and will be performed in a separate
patch.


Diffs (updated)
-

  include/mesos/scheduler.hpp 8c6774885ceb3b0644c32842a17fba39e2c3e472 
  src/java/src/org/apache/mesos/SchedulerDriver.java 
ee5a9e24956299d84ff03a0fc5a22e641470a03f 
  src/python/interface/src/mesos/interface/__init__.py 
f9642a0452e3161f3fd1b6a5d7ce0658d08c0b87 
  src/sched/sched.cpp e6cc534264e3ff4edaa703a660afb2f896388802 


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

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


Testing
---

make check
`./bin/mesos-tests.sh --gtest_filter="UpdateFrameworkV0*" 
--gtest_break_on_failure --gtest_repeat=1000`

+a new test from the depending patch


Thanks,

Andrei Sekretenko



Re: Review Request 70933: Moved an inline duration for slow DNS logging into a const variable.

2019-06-25 Thread Benno Evers


> On June 24, 2019, 4:50 p.m., Benjamin Mahler wrote:
> > The commit summary "Refactored raw duration into const variable." could be 
> > clearer, how about:
> > 
> > ```
> > Moved an inline duration for slow DNS logging into a const variable.
> > ```
> > 
> > With this I can immediately understand the change from the commit summary, 
> > I wouldn't need to read the description / diff to get a sense of the change.

Sounds good, updated.


- Benno


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


On June 24, 2019, 12:22 p.m., Benno Evers wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70933/
> ---
> 
> (Updated June 24, 2019, 12:22 p.m.)
> 
> 
> Review request for mesos, Benjamin Mahler and Till Toenshoff.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Moved the 100ms threshold that was used for printing warning
> messages about slow reverse DNS lookups into a named variable.
> 
> 
> Diffs
> -
> 
>   3rdparty/libprocess/src/openssl.cpp 
> e7dbd67913fa8e7fbbf60dee428e7e38895f86ce 
> 
> 
> Diff: https://reviews.apache.org/r/70933/diff/1/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Benno Evers
> 
>



Re: Review Request 70887: Added `track`, `pendingFutures` functions for tracking pending futures. (WIP)

2019-06-25 Thread Andrei Budnik

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




src/slave/containerizer/mesos/future_track.hpp
Lines 47 (patched)


Singleton cannot be used in tests as libprocess terminates all running 
processes during `process::finalize`, which is used in different parts of the 
code and is called by tests after instantiating `PendingFutureTracker`.

An instance of `PendingFutureTracker` must be created explicitly in `main` 
and passed into all dependent components.


- Andrei Budnik


On Июнь 19, 2019, 2:49 п.п., Andrei Budnik wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/70887/
> ---
> 
> (Updated Июнь 19, 2019, 2:49 п.п.)
> 
> 
> Review request for mesos, Benjamin Mahler, Gilbert Song, James Peach, Meng 
> Zhu, and Qian Zhang.
> 
> 
> Bugs: MESOS-9837
> https://issues.apache.org/jira/browse/MESOS-9837
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch introduces a mechanism for tracking of pending futures.
> This feature can be used to detect hanging operations, which might
> get stuck on a blocking operation or asynchronously. Both `track`
> and `pendingFutures` functions depend on `PendingFutureTracker`
> class, which is instantiated the first time they are accessed.
> 
> 
> Diffs
> -
> 
>   src/Makefile.am 761dde1d63e0f4f1ac4ab86f129f84f3746d3153 
>   src/slave/containerizer/mesos/future_track.hpp PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/70887/diff/2/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> Andrei Budnik
> 
>