Re: Review Request 50128: Added helper functions to 'Docker::Device'.

2016-08-07 Thread Guangya Liu

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




src/docker/docker.hpp (line 20)


move this under line 22 to keep alpia order.



src/docker/docker.hpp (lines 74 - 76)


Why not use a reference here?

```
const std::string& host,
const std::string& container,
const std::string& permissions
```


- Guangya Liu


On 八月 5, 2016, 9:58 a.m., Yubo Li wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50128/
> ---
> 
> (Updated 八月 5, 2016, 9:58 a.m.)
> 
> 
> Review request for mesos, Benjamin Mahler, Kevin Klues, and Rajat Phull.
> 
> 
> Bugs: MESOS-5795
> https://issues.apache.org/jira/browse/MESOS-5795
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Wrapped helper functions 'serialize()' and 'parse()' to 'Docker::Device'
> to handle data tranformation between 'Docker::Device' structure and
> string.
> 
> 
> Diffs
> -
> 
>   src/docker/docker.hpp 9093371afc8ea792ba94f61c6875703e547ea6b0 
>   src/docker/docker.cpp e8d2cb9662af34d75c9e2d822004f58fac76e7e0 
> 
> Diff: https://reviews.apache.org/r/50128/diff/
> 
> 
> Testing
> ---
> 
> make check
> 
> 
> Thanks,
> 
> Yubo Li
> 
>



Re: Review Request 50841: Added GPU scheduling logic to docker containerizer process.

2016-08-07 Thread Guangya Liu

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




src/slave/containerizer/docker.cpp (lines 1360 - 1428)


What about putting those logic to a new function such as 
`DockerContainerizerProcess::_launchExecutorProcess`, and here you can update 
the logic as:

```
return allocator->allocate(requested)
  .then(defer(...))
```

The `defer` will call the new added function 
`DockerContainerizerProcess::_launchExecutorProcess`, using continuation here 
can make the main thread not blocked.



src/slave/containerizer/docker.cpp (line 1548)


```
return allocator->deallocate(deallocated);
```



src/slave/containerizer/docker.cpp (line 1913)


What about log a warning message here if failed to deallocate?

```
allocator->deallocate(deallocated);
  .onFailed(defer(...) {
LOG(WARNING) << "...";
  }));
```


- Guangya Liu


On 八月 5, 2016, 9:49 a.m., Yubo Li wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50841/
> ---
> 
> (Updated 八月 5, 2016, 9:49 a.m.)
> 
> 
> Review request for mesos, Benjamin Mahler, Guangya Liu, Kevin Klues, and 
> Rajat Phull.
> 
> 
> Bugs: MESOS-5795
> https://issues.apache.org/jira/browse/MESOS-5795
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Added control logic to allocate/deallocate GPUs to GPU-related task
> when the task is started/terminated.
> 
> 
> Diffs
> -
> 
>   src/slave/containerizer/docker.hpp 43ca4317d608b3b43dd7bd0d1b55c721e7364885 
>   src/slave/containerizer/docker.cpp 12bad2db03bcf755317c654f028b628c5c407a62 
> 
> Diff: https://reviews.apache.org/r/50841/diff/
> 
> 
> Testing
> ---
> 
> make check
> 
> 
> Thanks,
> 
> Yubo Li
> 
>



Re: Review Request 49874: Added logrotate_container_logger for running mesos tests.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:24 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description (updated)
---

Builds library liblogrotate_container_logger useful to operate
logrotate loggers.


Diffs (updated)
-

  src/slave/CMakeLists.txt 33120ace79bce449329a7cc4b7ef264d2867fc13 
  src/slave/cmake/SlaveConfigure.cmake b339239761a5de321d65b92376dae69c339bee5c 
  src/slave/container_loggers/CMakeLists.txt PRE-CREATION 

Diff: https://reviews.apache.org/r/49874/diff/


Testing
---

cmake .. && make


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49924: Added libprocess as a shared library.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:25 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description (updated)
---

This patch allow to build libprocess as shared library on OSX and Linux


Diffs (updated)
-

  3rdparty/libprocess/src/CMakeLists.txt 
d1547ef6a8762385f653d3824307727e4d0a7e71 

Diff: https://reviews.apache.org/r/49924/diff/


Testing
---

cmake .. && make

With this patch and https://reviews.apache.org/r/49862,  Converted libmesos, 
http_parser and libprocess to shared libraries and we are using libevent shared 
library, zookeeper does not have a shared library in the 3rdparty (I guess the 
code is compiled as relocatable) and did not have issues linking.


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49921: Fixed mesos tests to run most of the tests on Unix and OSX.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:24 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description (updated)
---

This patch builds /src/mesos-tests
This patch adds all test sources, categorize them so that some are run
in environment with Java, on Unix, etc. Patch allows to run all the
tests that are enabled on a platform by simply running the mesos-tests
executable.


Diffs (updated)
-

  src/CMakeLists.txt 1286ee08fe2d60867326a1f2585f054c20b52208 
  src/tests/CMakeLists.txt 1ea8b2102753ae294bd75706ffaf08308e928acd 
  src/tests/cmake/MesosTestsConfigure.cmake 
361032082c3a5f76b949dc7981f75b53e02d84f5 

Diff: https://reviews.apache.org/r/49921/diff/


Testing
---

cmake .. && make
src/tests/mesos-tests  (runs 723 tests with no failures)
I did not enable any module that has even a single failue. There are many more 
tests that are passing.


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49870: Added test executables required to run tests.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:24 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description (updated)
---

Builds executables dynamic-reservation-framework, test-http-framework,
test-framework, test-executor, test-http-executor, long-lived-framework,
long-lived-executor, no-executor-framework,
docker-no-executor-framework, balloon-framework, balloon-executor,
load-generator-framework, persistent-volume-framework


Diffs (updated)
-

  src/examples/CMakeLists.txt PRE-CREATION 
  src/examples/cmake/ExamplesConfigure.cmake PRE-CREATION 

Diff: https://reviews.apache.org/r/49870/diff/


Testing
---

cmake .. && make


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49863: Added Test Modules that are loaded by mesos tests.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:24 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description
---

Builds shared libraries for dynamically loading them by various tests:
libexamplemodule, libtestauthorizer, libtestisolator,
libtestresource_estimator, libtestallocator, libtestcontainer_logger,
libtestmastercontender, libtestanonymous, libtesthook,
libtestmasterdetector, libtestauthentication, libtesthttpauthenticator,
libtestqos_controller.


Diffs (updated)
-

  CMakeLists.txt ee8f565586b958929bc4e95b09827244d6d4155f 
  cmake/MesosConfigure.cmake 6650c7c12b188b08c70cfee72b3200e83e7a1cd2 
  src/CMakeLists.txt 1286ee08fe2d60867326a1f2585f054c20b52208 
  src/examples/CMakeLists.txt PRE-CREATION 
  src/examples/cmake/ExamplesConfigure.cmake PRE-CREATION 

Diff: https://reviews.apache.org/r/49863/diff/


Testing
---

cmake .. && make


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49688: Added cmake build variables for mesos tests.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:23 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description (updated)
---

The patch simply sets up the mesos-tests target, also defines and sets
up the required dependencies, includ and lib directories. Target and
sources are added after building all test dependencies in a patch.


Diffs (updated)
-

  src/tests/cmake/MesosTestsConfigure.cmake 
361032082c3a5f76b949dc7981f75b53e02d84f5 
  src/tests/containerizer/CMakeLists.txt 
2c52e43a9deee90fa32693731d6ebedb5201bb1f 

Diff: https://reviews.apache.org/r/49688/diff/


Testing
---

cmake ..
cmake check


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49862: Changed libraies to shared on OSX and UNIX.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 8, 2016, 5:23 a.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


Summary (updated)
-

Changed libraies to shared on OSX and UNIX.


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


Repository: mesos


Description (updated)
---

Added fles MESOS_DEFAULT_LIBRARY_LINKAGE which is set to STATIC on
WIN32 and SHARED on OSX or Unix. This allows all libraries built
static or shared. Also minor changes made to eliminate leveldb
dependency when build slave or master. Also by setting the flag
CMAKE_POSITION_INDEPENDENT_CODE to true cmake auto sets the
flag -fPIC.


Diffs (updated)
-

  3rdparty/cmake/Mesos3rdpartyConfigure.cmake 
eeb27860f6f95d297ccfe273ed76de5355b50ff8 
  3rdparty/http-parser/CMakeLists.txt.template 
9a671973b754095e1de917f135a7deb978fb6eb6 
  cmake/MesosConfigure.cmake 6650c7c12b188b08c70cfee72b3200e83e7a1cd2 
  src/CMakeLists.txt 1286ee08fe2d60867326a1f2585f054c20b52208 
  src/master/cmake/MasterConfigure.cmake 
6bbd7e87273976f40527d719cc9450ff9a1d2ac7 
  src/slave/cmake/SlaveConfigure.cmake b339239761a5de321d65b92376dae69c339bee5c 
  src/slave/qos_controllers/CMakeLists.txt 
87c92af21c012655c201c01cd4ba5ff912555119 
  src/slave/resource_estimators/CMakeLists.txt 
17b149f734ea9dc8ac4c5dd45bdb8312faf4cc77 

Diff: https://reviews.apache.org/r/49862/diff/


Testing
---

cmake .. && make


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49851: Implemented `MemorySubsystem`.

2016-08-07 Thread Qian Zhang


> On July 27, 2016, 10:05 a.m., Qian Zhang wrote:
> > src/slave/containerizer/mesos/isolators/cgroups/subsystem.cpp, line 494
> > 
> >
> > How do we recover this field `updatedLimit`? I mean during agent 
> > recovery, `updatedLimit` of each Info will be reset to `false`, right? But 
> > I think that is not correct.
> 
> haosdent huang wrote:
> I think this problem exists at `mem.cpp` as well, and update the limit 
> twice here does not bring problems here. So I drop this. Feel free to reopen 
> this if you think it would bring problems here.
> 
> Qian Zhang wrote:
> Yes, it is also a bug in `mem.cpp` which uses `info->pid` to check if it 
> is the first time to update the memory limit, but the value of `info->pid` 
> will also be lost during agent recovery.
> 
> And I think updating the memory hard limit twice will bring some 
> problems, as mentioned in this comments 
> (https://github.com/apache/mesos/blob/1.0.0/src/slave/containerizer/mesos/isolators/cgroups/mem.cpp#L369:#L371),
>  decreasing memory hard limit may induce an OOM.
> 
> I had a discussion with Jie on this issue, and his suggestion is that we 
> should not use such kind of field (e.g., `pid` or `updatedLimit`) because 
> they can not be recovered, instead, before updating the hard limit, we should 
> check if its current value is still the initial value (should be -1? And it 
> may be different in different Linux distributions, so you may need to double 
> check it), if it is, then that means it is the first time to update the hard 
> limit, then we can just update it, if it is not, then that means it is not 
> the first time, then we can only increase it but not decrease it.
> 
> haosdent huang wrote:
> Thank you for your help. The initial value of limit_in_bytes is -1 
> (unlimited). Let's update to check by this.
> 
> haosdent huang wrote:
> Refer to http://lxr.free-electrons.com/source/kernel/res_counter.c?v=3.10 
> , http://lxr.free-electrons.com/source/kernel/res_counter.c?v=3.12 and 
> http://lxr.free-electrons.com/source/include/linux/page_counter.h 
> 
> There are two possible value of the initail values of `limit_in_bytes`: 
> 9223372036854775807 (LONG_MAX) and 18446744073709551615 (ULONG_MAX).

I see the third value of it in Ubuntu 16.04:
```
cat /sys/fs/cgroup/memory/memory.limit_in_bytes 
 
9223372036854771712
```
We need to cover it as well?


- Qian


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


On Aug. 7, 2016, 12:26 p.m., haosdent huang wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49851/
> ---
> 
> (Updated Aug. 7, 2016, 12:26 p.m.)
> 
> 
> Review request for mesos, Gilbert Song, Jie Yu, Qian Zhang, and Zhengju Sha.
> 
> 
> Bugs: MESOS-5045
> https://issues.apache.org/jira/browse/MESOS-5045
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Implemented `MemorySubsystem`.
> 
> 
> Diffs
> -
> 
>   src/slave/containerizer/mesos/isolators/cgroups/cgroups.hpp 
> b191b2a52a9645fc902a35ed52909b2142f0b4c0 
>   src/slave/containerizer/mesos/isolators/cgroups/cgroups.cpp 
> 2659252d8cffcefc233bc85fb4707c8147272737 
>   src/slave/containerizer/mesos/isolators/cgroups/constants.hpp 
> c45d88092f3fe497373dfeaa8346aef9126c7b8b 
>   src/slave/containerizer/mesos/isolators/cgroups/subsystem.hpp 
> 5f52a076a1fa3a21d886cb961ddeed5046a38d7c 
>   src/slave/containerizer/mesos/isolators/cgroups/subsystem.cpp 
> a30ecafcbecc9d3b6eeea2b04dcb4d278750af41 
> 
> Diff: https://reviews.apache.org/r/49851/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> haosdent huang
> 
>



Re: Review Request 49360: Supported TCP check in health check.

2016-08-07 Thread haosdent huang

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

(Updated Aug. 7, 2016, 6:21 p.m.)


Review request for mesos, Alexander Rukletsov, Benjamin Mahler, Gilbert Song, 
Jie Yu, and Timothy Chen.


Changes
---

Rebase.


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


Repository: mesos


Description
---

Supported TCP check in health check.


Diffs (updated)
-

  src/health-check/health_checker.hpp b28a9cf3c6c9217c0b2453ac6e34d88e1f648d61 
  src/health-check/health_checker.cpp 585a0b565d948cfa292bad818a710501a4ce0daf 

Diff: https://reviews.apache.org/r/49360/diff/


Testing
---


Thanks,

haosdent huang



Re: Review Request 36816: Supported HTTP/HTTPS in health check.

2016-08-07 Thread haosdent huang

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

(Updated Aug. 7, 2016, 6:21 p.m.)


Review request for mesos, Alexander Rukletsov, Benjamin Mahler, Gilbert Song, 
Jie Yu, and Timothy Chen.


Changes
---

Use curl instead of libprocess.


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


Repository: mesos


Description
---

Supported HTTP/HTTPS in health check.


Diffs (updated)
-

  src/health-check/health_checker.hpp b28a9cf3c6c9217c0b2453ac6e34d88e1f648d61 
  src/health-check/health_checker.cpp 585a0b565d948cfa292bad818a710501a4ce0daf 

Diff: https://reviews.apache.org/r/36816/diff/


Testing
---

* Add unit test cases: HealthCheckTest.HealthyTaskViaHttp and 
HealthCheckTest.HealthyTaskNotMatchHttpStatuses
make check


Thanks,

haosdent huang



Re: Review Request 49351: Updated 'HealthCheck' protobuf validation.

2016-08-07 Thread haosdent huang

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

(Updated Aug. 7, 2016, 6:20 p.m.)


Review request for mesos, Alexander Rukletsov, Benjamin Mahler, Gilbert Song, 
Jie Yu, and Timothy Chen.


Changes
---

Rebase.


Summary (updated)
-

Updated 'HealthCheck' protobuf validation.


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


Repository: mesos


Description (updated)
---

Updated 'HealthCheck' protobuf validation.


Diffs (updated)
-

  src/docker/executor.cpp 445628c9164facdd8bd812c5b45e3b2b886ebf0e 
  src/health-check/health_checker.hpp b28a9cf3c6c9217c0b2453ac6e34d88e1f648d61 
  src/health-check/health_checker.cpp 585a0b565d948cfa292bad818a710501a4ce0daf 

Diff: https://reviews.apache.org/r/49351/diff/


Testing
---


Thanks,

haosdent huang



Re: Review Request 50878: Avoid subtract resource when check contains for non persistent volume.

2016-08-07 Thread Mesos ReviewBot

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



Patch looks great!

Reviews applied: [50877, 50878]

Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' 
CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; 
./support/docker_build.sh

- Mesos ReviewBot


On Aug. 7, 2016, 3:40 p.m., Guangya Liu wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50878/
> ---
> 
> (Updated Aug. 7, 2016, 3:40 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> When check resources contains logic, there wil be logic of subtracting
> the resources which is being checked. But this is not a must if the
> resources is not a persistent volume as the non persistent volume
> resources will be merged by default.
> 
> This fix is adding persistent volume check before subtrat resources,
> so that the non persistent volume resources will not be subtracted.
> 
> 
> Diffs
> -
> 
>   src/common/resources.cpp 2470c0280db7d48d9484c42bc2150e53e7ce6e1c 
>   src/v1/resources.cpp 6c4e3b299e701d477947dd7427c31d2ae64c05ae 
> 
> Diff: https://reviews.apache.org/r/50878/diff/
> 
> 
> Testing
> ---
> 
> make
> make check
> 
> The test result is that sorter benchmark improved 40%+ when `unallocated` 
> resources, the resources benchmark test improved 40%+ when checking contain 
> for `scalar` and `shared` resources.
> 
> Sorter benchmark test before fix:
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
> [==] Running 1 test from 1 test case.
> [--] Global test environment set-up.
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
> [ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
> Using 5 agents and 1000 clients
> Added 1000 clients in 24290us
> Added 5 agents in 1.483639secs
> Added allocations for 5 agents in 5.007551secs
> Full sort of 1000 clients took 33151us
> No-op sort of 1000 clients took 351us
> Removed allocations for 5 agents in 5.5673474833mins
> Removed 5 agents in 2.050195secs
> Removed 1000 clients in 19310us
> [   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (342673 ms)
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (342673 ms 
> total)
> 
> [--] Global test environment tear-down
> [==] 1 test from 1 test case ran. (342697 ms total)
> [  PASSED  ] 1 test.
> ```
> 
> Sorter benchmark test after fix:
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
> [==] Running 1 test from 1 test case.
> [--] Global test environment set-up.
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
> [ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
> Using 5 agents and 1000 clients
> Added 1000 clients in 20536us
> Added 5 agents in 1.592772secs
> Added allocations for 5 agents in 5.257316secs
> Full sort of 1000 clients took 35049us
> No-op sort of 1000 clients took 349us
> Removed allocations for 5 agents in 3.2523637667mins
> Removed 5 agents in 1.835446secs
> Removed 1000 clients in 19347us
> [   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (203915 ms)
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (203916 ms 
> total)
> 
> [--] Global test environment tear-down
> [==] 1 test from 1 test case ran. (203941 ms total)
> [  PASSED  ] 1 test.
> 
> ```
> 
> Apply patch https://reviews.apache.org/r/50551/
> 
> Resources benchmark test before fix:
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Resources_BENCHMARK_Test.Contains/*”
> [==] Running 4 tests from 1 test case.
> [--] Global test environment set-up.
> [--] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test
> [ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/0
> Took 867642us to perform 5 'initial.contains(r)' operations on cpus(*):1; 
> gpus(*):1; mem(*):128; disk(*):256 with initial resources cpus(*):1; 
> gpus(*):1; mem(*):128; disk(*):256
> [   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/0 (870 ms)
> [ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/1
> Took 28.222642secs to perform 10 'initial.contains(r)' operations on cpus(0, 
> principal_0, {key_0: value_0}):1; gpus(... with initial resources cpus(0, 
> principal_0, {key_0: value_0}):1; gpus(...
> [   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/1 (28280 ms)
> [ RUN  ] 

Re: Review Request 50123: Added GPU scheduler for docker containerizer process.

2016-08-07 Thread Guangya Liu

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




src/slave/containerizer/docker.hpp (line 283)


What about 

```
Option nvidiaGpuAllocator;
```

The reason I want to rename it as this is because we have two allocators 
now: one is the built-in drt allocator and the other is nvidia gpu allocator, 
it is better use a name which is more meaningful to distinguish with the drf 
allocator.

Ditto for other places where is using `allocator`.


- Guangya Liu


On 八月 5, 2016, 9:47 a.m., Yubo Li wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50123/
> ---
> 
> (Updated 八月 5, 2016, 9:47 a.m.)
> 
> 
> Review request for mesos, Benjamin Mahler, Kevin Klues, and Rajat Phull.
> 
> 
> Bugs: MESOS-5795
> https://issues.apache.org/jira/browse/MESOS-5795
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This added 'NvidiaGpuAllocator' to docker containerizer process so that
> docker containerizer process is ready to use it to allocate GPUs to task
> with 'gpus' resource.
> 
> 
> Diffs
> -
> 
>   src/slave/containerizer/docker.hpp 43ca4317d608b3b43dd7bd0d1b55c721e7364885 
>   src/slave/containerizer/docker.cpp 12bad2db03bcf755317c654f028b628c5c407a62 
>   src/tests/mesos.hpp 9174a3810d0da34b99dc257e9c77f83107fdd9f5 
>   src/tests/mesos.cpp 30492d7e3b4c5e9ae9d2b2446cadba62d43a3c65 
> 
> Diff: https://reviews.apache.org/r/50123/diff/
> 
> 
> Testing
> ---
> 
> make check
> 
> 
> Thanks,
> 
> Yubo Li
> 
>



Re: Review Request 50878: Avoid subtract resource when check contains for non persistent volume.

2016-08-07 Thread Guangya Liu

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



Just FYI, https://reviews.apache.org/r/30430/ introduced the logic of `resource 
subtract` for `contains`.

- Guangya Liu


On 八月 7, 2016, 3:40 p.m., Guangya Liu wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50878/
> ---
> 
> (Updated 八月 7, 2016, 3:40 p.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> When check resources contains logic, there wil be logic of subtracting
> the resources which is being checked. But this is not a must if the
> resources is not a persistent volume as the non persistent volume
> resources will be merged by default.
> 
> This fix is adding persistent volume check before subtrat resources,
> so that the non persistent volume resources will not be subtracted.
> 
> 
> Diffs
> -
> 
>   src/common/resources.cpp 2470c0280db7d48d9484c42bc2150e53e7ce6e1c 
>   src/v1/resources.cpp 6c4e3b299e701d477947dd7427c31d2ae64c05ae 
> 
> Diff: https://reviews.apache.org/r/50878/diff/
> 
> 
> Testing
> ---
> 
> make
> make check
> 
> The test result is that sorter benchmark improved 40%+ when `unallocated` 
> resources, the resources benchmark test improved 40%+ when checking contain 
> for `scalar` and `shared` resources.
> 
> Sorter benchmark test before fix:
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
> [==] Running 1 test from 1 test case.
> [--] Global test environment set-up.
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
> [ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
> Using 5 agents and 1000 clients
> Added 1000 clients in 24290us
> Added 5 agents in 1.483639secs
> Added allocations for 5 agents in 5.007551secs
> Full sort of 1000 clients took 33151us
> No-op sort of 1000 clients took 351us
> Removed allocations for 5 agents in 5.5673474833mins
> Removed 5 agents in 2.050195secs
> Removed 1000 clients in 19310us
> [   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (342673 ms)
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (342673 ms 
> total)
> 
> [--] Global test environment tear-down
> [==] 1 test from 1 test case ran. (342697 ms total)
> [  PASSED  ] 1 test.
> ```
> 
> Sorter benchmark test after fix:
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
> [==] Running 1 test from 1 test case.
> [--] Global test environment set-up.
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
> [ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
> Using 5 agents and 1000 clients
> Added 1000 clients in 20536us
> Added 5 agents in 1.592772secs
> Added allocations for 5 agents in 5.257316secs
> Full sort of 1000 clients took 35049us
> No-op sort of 1000 clients took 349us
> Removed allocations for 5 agents in 3.2523637667mins
> Removed 5 agents in 1.835446secs
> Removed 1000 clients in 19347us
> [   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (203915 ms)
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (203916 ms 
> total)
> 
> [--] Global test environment tear-down
> [==] 1 test from 1 test case ran. (203941 ms total)
> [  PASSED  ] 1 test.
> 
> ```
> 
> Apply patch https://reviews.apache.org/r/50551/
> 
> Resources benchmark test before fix:
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Resources_BENCHMARK_Test.Contains/*”
> [==] Running 4 tests from 1 test case.
> [--] Global test environment set-up.
> [--] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test
> [ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/0
> Took 867642us to perform 5 'initial.contains(r)' operations on cpus(*):1; 
> gpus(*):1; mem(*):128; disk(*):256 with initial resources cpus(*):1; 
> gpus(*):1; mem(*):128; disk(*):256
> [   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/0 (870 ms)
> [ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/1
> Took 28.222642secs to perform 10 'initial.contains(r)' operations on cpus(0, 
> principal_0, {key_0: value_0}):1; gpus(... with initial resources cpus(0, 
> principal_0, {key_0: value_0}):1; gpus(...
> [   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/1 (28280 ms)
> [ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/2
> Took 480321us to perform 1000 'initial.contains(r)' operations on 
> ports(*):[1-2, 4-5, 7-8, 10-11, 13-14, 16-17, 

Review Request 50878: Avoid subtract resource when check contains for non persistent volume.

2016-08-07 Thread Guangya Liu

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

Review request for mesos and Benjamin Mahler.


Repository: mesos


Description
---

When check resources contains logic, there wil be logic of subtracting
the resources which is being checked. But this is not a must if the
resources is not a persistent volume as the non persistent volume
resources will be merged by default.

This fix is adding persistent volume check before subtrat resources,
so that the non persistent volume resources will not be subtracted.


Diffs
-

  src/common/resources.cpp 2470c0280db7d48d9484c42bc2150e53e7ce6e1c 
  src/v1/resources.cpp 6c4e3b299e701d477947dd7427c31d2ae64c05ae 

Diff: https://reviews.apache.org/r/50878/diff/


Testing
---

make
make check

The test result is that sorter benchmark improved 40%+ when `unallocated` 
resources, the resources benchmark test improved 40%+ when checking contain for 
`scalar` and `shared` resources.

Sorter benchmark test before fix:
```
./bin/mesos-tests.sh --benchmark  
--gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
[==] Running 1 test from 1 test case.
[--] Global test environment set-up.
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
[ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
Using 5 agents and 1000 clients
Added 1000 clients in 24290us
Added 5 agents in 1.483639secs
Added allocations for 5 agents in 5.007551secs
Full sort of 1000 clients took 33151us
No-op sort of 1000 clients took 351us
Removed allocations for 5 agents in 5.5673474833mins
Removed 5 agents in 2.050195secs
Removed 1000 clients in 19310us
[   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (342673 ms)
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (342673 ms 
total)

[--] Global test environment tear-down
[==] 1 test from 1 test case ran. (342697 ms total)
[  PASSED  ] 1 test.
```

Sorter benchmark test after fix:
```
./bin/mesos-tests.sh --benchmark  
--gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
[==] Running 1 test from 1 test case.
[--] Global test environment set-up.
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
[ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
Using 5 agents and 1000 clients
Added 1000 clients in 20536us
Added 5 agents in 1.592772secs
Added allocations for 5 agents in 5.257316secs
Full sort of 1000 clients took 35049us
No-op sort of 1000 clients took 349us
Removed allocations for 5 agents in 3.2523637667mins
Removed 5 agents in 1.835446secs
Removed 1000 clients in 19347us
[   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (203915 ms)
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (203916 ms 
total)

[--] Global test environment tear-down
[==] 1 test from 1 test case ran. (203941 ms total)
[  PASSED  ] 1 test.

```

Apply patch https://reviews.apache.org/r/50551/

Resources benchmark test before fix:
```
./bin/mesos-tests.sh --benchmark  
--gtest_filter="*Resources_BENCHMARK_Test.Contains/*”
[==] Running 4 tests from 1 test case.
[--] Global test environment set-up.
[--] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test
[ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/0
Took 867642us to perform 5 'initial.contains(r)' operations on cpus(*):1; 
gpus(*):1; mem(*):128; disk(*):256 with initial resources cpus(*):1; gpus(*):1; 
mem(*):128; disk(*):256
[   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/0 (870 ms)
[ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/1
Took 28.222642secs to perform 10 'initial.contains(r)' operations on cpus(0, 
principal_0, {key_0: value_0}):1; gpus(... with initial resources cpus(0, 
principal_0, {key_0: value_0}):1; gpus(...
[   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/1 (28280 ms)
[ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/2
Took 480321us to perform 1000 'initial.contains(r)' operations on 
ports(*):[1-2, 4-5, 7-8, 10-11, 13-14, 16-17, 1... with initial resources 
ports(*):[3-5]
[   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/2 (481 ms)
[ RUN  ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/3
Took 1.133279secs to perform 5 'initial.contains(r)' operations on 
cpus(*):1; mem(*):128; disk(test)[persistentId:... with initial resources 
cpus(*):1; mem(*):128; disk(test)[persistentId:...
[   OK ] ResourcesOperators/Resources_BENCHMARK_Test.Contains/3 (1134 ms)
[--] 4 tests from ResourcesOperators/Resources_BENCHMARK_Test (30765 ms 
total)

[--] Global test environment tear-down
[==] 4 tests from 1 test case ran. (30791 ms total)
[  PASSED 

Re: Review Request 49870: Added test executables required to run tests.

2016-08-07 Thread Srinivas Brahmaroutu

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

(Updated Aug. 7, 2016, 3:14 p.m.)


Review request for mesos, Alex Clemmer and Joseph Wu.


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


Repository: mesos


Description
---

Added test executables required to run tests.


Diffs (updated)
-

  src/examples/CMakeLists.txt PRE-CREATION 
  src/examples/cmake/ExamplesConfigure.cmake PRE-CREATION 

Diff: https://reviews.apache.org/r/49870/diff/


Testing
---

cmake .. && make


Thanks,

Srinivas Brahmaroutu



Re: Review Request 49849: Implemented `CpuSubsystem`.

2016-08-07 Thread Qian Zhang

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




src/slave/containerizer/mesos/isolators/cgroups/subsystem.hpp (lines 172 - 175)


Just curious why we need this method? When will it be called?


- Qian Zhang


On Aug. 4, 2016, 1:57 a.m., haosdent huang wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49849/
> ---
> 
> (Updated Aug. 4, 2016, 1:57 a.m.)
> 
> 
> Review request for mesos, Gilbert Song, Jie Yu, Qian Zhang, and Zhengju Sha.
> 
> 
> Bugs: MESOS-5042
> https://issues.apache.org/jira/browse/MESOS-5042
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Implemented `CpuSubsystem`.
> 
> 
> Diffs
> -
> 
>   src/slave/containerizer/mesos/isolators/cgroups/cgroups.cpp 
> 2659252d8cffcefc233bc85fb4707c8147272737 
>   src/slave/containerizer/mesos/isolators/cgroups/constants.hpp 
> c45d88092f3fe497373dfeaa8346aef9126c7b8b 
>   src/slave/containerizer/mesos/isolators/cgroups/subsystem.hpp 
> 5f52a076a1fa3a21d886cb961ddeed5046a38d7c 
>   src/slave/containerizer/mesos/isolators/cgroups/subsystem.cpp 
> a30ecafcbecc9d3b6eeea2b04dcb4d278750af41 
> 
> Diff: https://reviews.apache.org/r/49849/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> haosdent huang
> 
>



Re: Review Request 49855: Enabled cgroups unified isolator in isolation.

2016-08-07 Thread Qian Zhang

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


Fix it, then Ship it!





src/slave/containerizer/mesos/containerizer.cpp (line 348)


s/have/has/


- Qian Zhang


On Aug. 4, 2016, 1:31 a.m., haosdent huang wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/49855/
> ---
> 
> (Updated Aug. 4, 2016, 1:31 a.m.)
> 
> 
> Review request for mesos, Gilbert Song, Jie Yu, Qian Zhang, and Zhengju Sha.
> 
> 
> Bugs: MESOS-5652
> https://issues.apache.org/jira/browse/MESOS-5652
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> Enabled cgroups unified isolator in isolation.
> 
> 
> Diffs
> -
> 
>   src/slave/containerizer/mesos/containerizer.cpp 
> 86a8d8a85b6a33c87798108cb65af85bb9bbbc77 
> 
> Diff: https://reviews.apache.org/r/49855/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> haosdent huang
> 
>



Re: Review Request 50877: Added more cases for sorter benchmark test.

2016-08-07 Thread Mesos ReviewBot

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



Patch looks great!

Reviews applied: [50877]

Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' 
CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; 
./support/docker_build.sh

- Mesos ReviewBot


On Aug. 7, 2016, 10:04 a.m., Guangya Liu wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50877/
> ---
> 
> (Updated Aug. 7, 2016, 10:04 a.m.)
> 
> 
> Review request for mesos and Benjamin Mahler.
> 
> 
> Repository: mesos
> 
> 
> Description
> ---
> 
> This patch is adding more benchmark test cases for sorter include
> the following:
> 
> 1) Added time elapse for unallocated all resources for all clients.
> 2) Added time elapse for removing all agents.
> 3) Added time elapse for removing all clients.
> 
> 
> Diffs
> -
> 
>   src/tests/sorter_tests.cpp d6578c0df9e860087aa0bc57242b6fc302c7063f 
> 
> Diff: https://reviews.apache.org/r/50877/diff/
> 
> 
> Testing
> ---
> 
> make
> make check
> 
> The result is that the `unallocated` consumed quite a lot of time, the root 
> cause is that the `contains` is time consuming when `unallocated` resources 
> for clients.
> 
> ```
>  ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Sorter_BENCHMARK_Test.FullSort/0"
> [==] Running 1 test from 1 test case.
> [--] Global test environment set-up.
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
> [ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/0
> Using 1000 agents and 1 clients
> Added 1 clients in 124us
> Added 1000 agents in 29667us
> Added allocations for 1000 agents in 81757us
> Full sort of 1 clients took 86us
> No-op sort of 1 clients took 5us
> Removed allocations for 1000 agents in 5.834111secs
> Removed 1000 agents in 41694us
> Removed 1 clients in 38us
> [   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/0 (5990 ms)
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (5990 ms 
> total)
> 
> [--] Global test environment tear-down
> [==] 1 test from 1 test case ran. (6012 ms total)
> [  PASSED  ] 1 test.
> ```
> 
> ```
> ./bin/mesos-tests.sh --benchmark  
> --gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
> [==] Running 1 test from 1 test case.
> [--] Global test environment set-up.
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
> [ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
> Using 5 agents and 1000 clients
> Added 1000 clients in 21453us
> Added 5 agents in 1.572453secs
> Added allocations for 5 agents in 5.358785secs
> Full sort of 1000 clients took 32856us
> No-op sort of 1000 clients took 347us
> Removed allocations for 5 agents in 5.1378020833mins
> Removed 5 agents in 1.919385secs
> Removed 1000 clients in 21738us
> [   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (317208 ms)
> [--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (317208 ms 
> total)
> 
> [--] Global test environment tear-down
> [==] 1 test from 1 test case ran. (317231 ms total)
> [  PASSED  ] 1 test.
> ```
> 
> 
> Thanks,
> 
> Guangya Liu
> 
>



Review Request 50877: Added more cases for sorter benchmark test.

2016-08-07 Thread Guangya Liu

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

Review request for mesos and Benjamin Mahler.


Repository: mesos


Description
---

This patch is adding more benchmark test cases for sorter include
the following:

1) Added time elapse for unallocated all resources for all clients.
2) Added time elapse for removing all agents.
3) Added time elapse for removing all clients.


Diffs
-

  src/tests/sorter_tests.cpp d6578c0df9e860087aa0bc57242b6fc302c7063f 

Diff: https://reviews.apache.org/r/50877/diff/


Testing
---

make
make check

The result is that the `unallocated` consumed quite a lot of time, the root 
cause is that the `contains` is time consuming when `unallocated` resources for 
clients.

```
 ./bin/mesos-tests.sh --benchmark  
--gtest_filter="*Sorter_BENCHMARK_Test.FullSort/0"
[==] Running 1 test from 1 test case.
[--] Global test environment set-up.
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
[ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/0
Using 1000 agents and 1 clients
Added 1 clients in 124us
Added 1000 agents in 29667us
Added allocations for 1000 agents in 81757us
Full sort of 1 clients took 86us
No-op sort of 1 clients took 5us
Removed allocations for 1000 agents in 5.834111secs
Removed 1000 agents in 41694us
Removed 1 clients in 38us
[   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/0 (5990 ms)
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (5990 ms 
total)

[--] Global test environment tear-down
[==] 1 test from 1 test case ran. (6012 ms total)
[  PASSED  ] 1 test.
```

```
./bin/mesos-tests.sh --benchmark  
--gtest_filter="*Sorter_BENCHMARK_Test.FullSort/35"
[==] Running 1 test from 1 test case.
[--] Global test environment set-up.
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test
[ RUN  ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35
Using 5 agents and 1000 clients
Added 1000 clients in 21453us
Added 5 agents in 1.572453secs
Added allocations for 5 agents in 5.358785secs
Full sort of 1000 clients took 32856us
No-op sort of 1000 clients took 347us
Removed allocations for 5 agents in 5.1378020833mins
Removed 5 agents in 1.919385secs
Removed 1000 clients in 21738us
[   OK ] AgentAndClientCount/Sorter_BENCHMARK_Test.FullSort/35 (317208 ms)
[--] 1 test from AgentAndClientCount/Sorter_BENCHMARK_Test (317208 ms 
total)

[--] Global test environment tear-down
[==] 1 test from 1 test case ran. (317231 ms total)
[  PASSED  ] 1 test.
```


Thanks,

Guangya Liu