mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Park" <mp...@apache.org>
Subject Re: Review Request 41595: Updated `Master::Http::state` to use `jsonify` in mesos.
Date Fri, 15 Jan 2016 07:45:01 GMT


> On Jan. 14, 2016, 4:25 a.m., Benjamin Hindman wrote:
> > src/master/http.cpp, lines 135-146
> > <https://reviews.apache.org/r/41595/diff/4/?file=1183576#file1183576line135>
> >
> >     A basic comment that implies that a `Summary` representation is for the '/state-summary'
endpoints and `Full` representation is for the '/state' endpoints (or maybe in the future
for any "summary" endpoint) would be great. ;-)

Added comments over both of these.


> On Jan. 14, 2016, 4:25 a.m., Benjamin Hindman wrote:
> > src/master/http.cpp, line 175
> > <https://reviews.apache.org/r/41595/diff/4/?file=1183576#file1183576line175>
> >
> >     I can't remember what the outcome of our converation about this was, but do
you even need the `Full` representation? Could you just have a `void json(JSON::ObjectWriter*
writer, const Slave& slave)` work without needing to explicitly use `Full`? If we need
`Full` in addition to `Summary` a comment above over `Full` that explains that for others
would be great!

We don't "need" it per se, but for now I think it makes sense to be explicit about which one
at the callsite. If we were to get rid of the summary endpoints later on, it would make sense
at that point to get rid of `Summary<T>` and collapse `Full<T>` into `T`.


- Michael


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


On Jan. 15, 2016, 7:41 a.m., Michael Park wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/41595/
> -----------------------------------------------------------
> 
> (Updated Jan. 15, 2016, 7:41 a.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> See summary.
> 
> 
> Diffs
> -----
> 
>   src/common/http.hpp 4f4cbf6e53588b72204f9628dea5696c71eb66a5 
>   src/common/http.cpp 7165551321bedb8a4d711a64d0d6d8fd15215424 
>   src/master/http.cpp bcafc7aff89659a68352f3876ce6042f8b34bd5d 
> 
> Diff: https://reviews.apache.org/r/41595/diff/
> 
> 
> Testing
> -------
> 
> # Some preliminery numbers
> 
> These numbers are from my Ubuntu VM on my Mac OS X with @vinodkone's benchmark test:
[r40844](https://reviews.apache.org/r/40844/).
> 
> ### Before
> 
> ```
> [==========] Running 36 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 36 tests from SlaveAndFrameworkCount/MasterState_BENCHMARK_Test
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/0
> Added 1000 slaves and 1 frameworks
> Received state.json response in 683.138216ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/0 (1436 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/1
> Added 1000 slaves and 50 frameworks
> Received state.json response in 550.636939ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/1 (1474 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/2
> Added 1000 slaves and 100 frameworks
> Received state.json response in 632.835236ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/2 (1491 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/3
> Added 1000 slaves and 200 frameworks
> Received state.json response in 584.035771ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/3 (1431 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/4
> Added 1000 slaves and 500 frameworks
> Received state.json response in 688.404348ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/4 (1586 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/5
> Added 1000 slaves and 1000 frameworks
> Received state.json response in 666.713683ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/5 (1590 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/6
> Added 5000 slaves and 1 frameworks
> Received state.json response in 3.916201532secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/6 (7852 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/7
> Added 5000 slaves and 50 frameworks
> Received state.json response in 3.362618796secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/7 (8315 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/8
> Added 5000 slaves and 100 frameworks
> Received state.json response in 3.126815189secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/8 (7153 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/9
> Added 5000 slaves and 200 frameworks
> Received state.json response in 3.079956539secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/9 (7534 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/10
> Added 5000 slaves and 500 frameworks
> Received state.json response in 3.222014521secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/10 (8129 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/11
> Added 5000 slaves and 1000 frameworks
> Received state.json response in 3.286657158secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/11 (8133 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/12
> Added 10000 slaves and 1 frameworks
> Received state.json response in 7.332592151secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/12 (15639 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/13
> Added 10000 slaves and 50 frameworks
> Received state.json response in 6.998751033secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/13 (17175 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/14
> Added 10000 slaves and 100 frameworks
> Received state.json response in 6.807456891secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/14 (15974 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/15
> Added 10000 slaves and 200 frameworks
> Received state.json response in 6.371190971secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/15 (15772 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/16
> Added 10000 slaves and 500 frameworks
> Received state.json response in 6.613739531secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/16 (16527 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/17
> Added 10000 slaves and 1000 frameworks
> Received state.json response in 7.200492733secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/17 (18180 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/18
> Added 20000 slaves and 1 frameworks
> Received state.json response in 14.977313945secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/18 (33446 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/19
> Added 20000 slaves and 50 frameworks
> Received state.json response in 14.657804222secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/19 (36402 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/20
> Added 20000 slaves and 100 frameworks
> Received state.json response in 13.973765739secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/20 (35004 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/21
> Added 20000 slaves and 200 frameworks
> Received state.json response in 14.205684739secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/21 (34901 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/22
> Added 20000 slaves and 500 frameworks
> Received state.json response in 13.862711917secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/22 (35509 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/23
> Added 20000 slaves and 1000 frameworks
> Received state.json response in 13.318292374secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/23 (35513 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/24
> Added 30000 slaves and 1 frameworks
> Received state.json response in 23.50264888secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/24 (52767 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/25
> Added 30000 slaves and 50 frameworks
> Received state.json response in 22.636817049secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/25 (57984 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/26
> Added 30000 slaves and 100 frameworks
> Received state.json response in 22.425003707secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/26 (58428 ms)
> ```
> 
> ### After
> 
> ```
> [==========] Running 36 tests from 1 test case.
> [----------] Global test environment set-up.
> [----------] 36 tests from SlaveAndFrameworkCount/MasterState_BENCHMARK_Test
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/0
> Added 1000 slaves and 1 frameworks
> Received state.json response in 139.617795ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/0 (840 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/1
> Added 1000 slaves and 50 frameworks
> Received state.json response in 171.210248ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/1 (940 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/2
> Added 1000 slaves and 100 frameworks
> Received state.json response in 160.723562ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/2 (1016 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/3
> Added 1000 slaves and 200 frameworks
> Received state.json response in 168.967341ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/3 (1044 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/4
> Added 1000 slaves and 500 frameworks
> Received state.json response in 225.533202ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/4 (1139 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/5
> Added 1000 slaves and 1000 frameworks
> Received state.json response in 186.785564ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/5 (1114 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/6
> Added 5000 slaves and 1 frameworks
> Received state.json response in 694.018365ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/6 (4263 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/7
> Added 5000 slaves and 50 frameworks
> Received state.json response in 768.719434ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/7 (4681 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/8
> Added 5000 slaves and 100 frameworks
> Received state.json response in 911.135941ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/8 (5039 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/9
> Added 5000 slaves and 200 frameworks
> Received state.json response in 898.358181ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/9 (5727 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/10
> Added 5000 slaves and 500 frameworks
> Received state.json response in 967.070956ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/10 (5625 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/11
> Added 5000 slaves and 1000 frameworks
> Received state.json response in 921.661398ms
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/11 (6076 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/12
> Added 10000 slaves and 1 frameworks
> Received state.json response in 1.632949533secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/12 (10613 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/13
> Added 10000 slaves and 50 frameworks
> Received state.json response in 1.846994838secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/13 (10768 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/14
> Added 10000 slaves and 100 frameworks
> Received state.json response in 1.754788998secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/14 (11160 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/15
> Added 10000 slaves and 200 frameworks
> Received state.json response in 1.996761506secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/15 (11688 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/16
> Added 10000 slaves and 500 frameworks
> Received state.json response in 1.835763056secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/16 (12967 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/17
> Added 10000 slaves and 1000 frameworks
> Received state.json response in 1.871073805secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/17 (12664 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/18
> Added 20000 slaves and 1 frameworks
> Received state.json response in 3.169145217secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/18 (19615 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/19
> Added 20000 slaves and 50 frameworks
> Received state.json response in 3.577511707secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/19 (23335 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/20
> Added 20000 slaves and 100 frameworks
> Received state.json response in 3.68911716secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/20 (25335 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/21
> Added 20000 slaves and 200 frameworks
> Received state.json response in 3.775534974secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/21 (24704 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/22
> Added 20000 slaves and 500 frameworks
> Received state.json response in 3.849741727secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/22 (25947 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/23
> Added 20000 slaves and 1000 frameworks
> Received state.json response in 3.904906724secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/23 (27580 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/24
> Added 30000 slaves and 1 frameworks
> Received state.json response in 5.058526864secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/24 (32109 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/25
> Added 30000 slaves and 50 frameworks
> Received state.json response in 5.442018636secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/25 (35728 ms)
> [ RUN      ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/26
> Added 30000 slaves and 100 frameworks
> Received state.json response in 5.530495291secs
> [       OK ] SlaveAndFrameworkCount/MasterState_BENCHMARK_Test.State/26 (37867 ms)
> ```
> 
> 
> Thanks,
> 
> Michael Park
> 
>


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