Re: Review Request 34881: let libprocess to compile on arm64 servers

2015-07-20 Thread Dong Robin


 On 六月 22, 2015, 3:48 a.m., Cody Maloney wrote:
  3rdparty/libprocess/3rdparty/protobuf-2.5.0.patch, line 18
  https://reviews.apache.org/r/34881/diff/1/?file=975553#file975553line18
 
  Where did this header come from? If we were to just update protobuf to 
  a newer version would it just compile?

This header comes from 
https://github.com/google/protobuf/blob/master/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h,
 the latest protobuf code.
If we update the protobuf to the newer version, it would just compile. And, if 
we update protobuf to the latest version (which already supported arm64 arch), 
we don't need this patch anymore.


- Dong


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


On 六月 1, 2015, 7:10 a.m., Dong Robin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/34881/
 ---
 
 (Updated 六月 1, 2015, 7:10 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-2786
 https://issues.apache.org/jira/browse/MESOS-2786
 
 
 Repository: mesos
 
 
 Description
 ---
 
 To compile libprocess on arm64(aarch64) servers, we need to
 add patches for 3rd software to recognize aarch64 architecture
 and replace x86 assemble language to standard gcc buildin function
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/Makefile.am 
 519e38c2c22904e75f36b936142a915a8f615b21 
   3rdparty/libprocess/3rdparty/glog-0.3.3.patch 
 76b8c0fe3b4615371e265bab713d62c896b7c3d6 
   3rdparty/libprocess/3rdparty/libev-4.15.patch 
 bbd83e6928e6caba3bc5a9739823d60923cfaa2a 
   3rdparty/libprocess/3rdparty/protobuf-2.5.0.patch PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/34881/diff/
 
 
 Testing
 ---
 
 Build and run mesos-mater/mesos-slave succesly on arm64 server.
 
 
 Thanks,
 
 Dong Robin
 




Re: Review Request 34882: let mesos to compile and run on arm64 servers

2015-07-20 Thread Dong Robin


 On 六月 1, 2015, 10:14 a.m., Mesos ReviewBot wrote:
  Bad patch!
  
  Reviews applied: [34882]
  
  Failed command: ./support/apply-review.sh -n -r 34882
  
  Error:
   2015-06-01 10:14:22 URL:https://reviews.apache.org/r/34882/diff/raw/ 
  [4278/4278] - 34882.patch [1]
  34882.patch:73: trailing whitespace.
  -lock xadd dword ptr [eax], ecx; 
  34882.patch:74: trailing whitespace.
  -   lock xadd dword ptr [eax], ebx; 
  34882.patch:75: trailing whitespace.
  -mov result, ecx; // result = ebx;
  34882.patch:77: trailing whitespace.
  - return result;
  warning: 4 lines add whitespace errors.
  Successfully applied: let mesos to compile and run on arm64 servers
  
  To build and run mesos on arm64(aarch64) servers, we add
  the missing include header file, or it will report:
  pivot_root is not available
  
  
  Review: https://reviews.apache.org/r/34882
  3rdparty/zookeeper-3.4.5.patch:129: trailing whitespace.
  +-lock xadd dword ptr [eax], ecx; 
  3rdparty/zookeeper-3.4.5.patch:130: trailing whitespace.
  +-   lock xadd dword ptr [eax], ebx; 
  3rdparty/zookeeper-3.4.5.patch:131: trailing whitespace.
  +-mov result, ecx; // result = ebx;
  3rdparty/zookeeper-3.4.5.patch:133: trailing whitespace.
  +- return result;
  Failed to commit patch

I have to add whitespace in patch as the source code in zookeeper*.tgz do have 
these whitespaces.


- Dong


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


On 六月 1, 2015, 7:11 a.m., Dong Robin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/34882/
 ---
 
 (Updated 六月 1, 2015, 7:11 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-2786
 https://issues.apache.org/jira/browse/MESOS-2786
 
 
 Repository: mesos
 
 
 Description
 ---
 
 To build and run mesos on arm64(aarch64) servers, we add
 the missing include header file, or it will report:
 pivot_root is not available
 
 
 Diffs
 -
 
   3rdparty/leveldb.patch ad8c19b9caa856ff85978ba832d48df11b3a83f0 
   3rdparty/zookeeper-3.4.5.patch 3ca180d0c81f5de521ada7fb6c1c248a871ab2da 
   src/linux/fs.cpp 1c9cf3f2ffead37148e4f6a81cefdbb97f679b09 
 
 Diff: https://reviews.apache.org/r/34882/diff/
 
 
 Testing
 ---
 
 Build and run mesos-master/mesos slave successfully on arm64 server.
 
 
 Thanks,
 
 Dong Robin
 




Re: Review Request 36424: Created a command executor helper method.

2015-07-20 Thread Alexander Rojas

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



3rdparty/libprocess/include/process/subprocess.hpp (line 364)
https://reviews.apache.org/r/36424/#comment146283

Isn't `++cmdArgs.begin()` the same `cmdArgs.end()` ? I feel that 
pre-increment looks quite weird.

If you still prefer the given style, I think `cmdArgs.begin() + 1` is still 
more readable and doesn't add complexity.


- Alexander Rojas


On July 18, 2015, 4 a.m., Marco Massenzio wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36424/
 ---
 
 (Updated July 18, 2015, 4 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Cody Maloney, and 
 Paul Brett.
 
 
 Bugs: MESOS-3035
 https://issues.apache.org/jira/browse/MESOS-3035
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Jira: MESOS-2902
 
 While researching how to execute an arbitrary script
 to detect the Master IP address, it emerged clearly that
 a helper method to execute an arbitrary command/script on
 a node and obtain either stdout or stderr would have been
 useful and avoided a lot of code repetition.
 
 This could not be ultimately used for the purpose at hand,
 but I believe it to be useful enough (particularly, to avoid
 people doing coding by copypaste and/or waste time
 researching the same functionality).
 
 This would also be beneficial in MESOS-2830 and MESOS-2834
 factoring out the remote command execution logic.
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/process/subprocess.hpp 
 310cb4f8e4e2faa5545dffd196d7490c868bc5d6 
   3rdparty/libprocess/src/tests/subprocess_tests.cpp 
 f6acb204582a9e696c3b09d4e4c543bb052e97d4 
 
 Diff: https://reviews.apache.org/r/36424/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Marco Massenzio
 




Re: Review Request 36612: Cleanup of right angle brackets in cgroups code.

2015-07-20 Thread Alexander Rojas

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

Ship it!


Ship It!

- Alexander Rojas


On July 20, 2015, 10:36 a.m., Joerg Schad wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36612/
 ---
 
 (Updated July 20, 2015, 10:36 a.m.)
 
 
 Review request for mesos and Timothy Chen.
 
 
 Bugs: Mesos-3086
 https://issues.apache.org/jira/browse/Mesos-3086
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Cleanup of right angle brackets in cgroups code.
 
 
 Diffs
 -
 
   src/linux/cgroups.hpp a47f9a26ead097d5b9a1cf605844d2801d9db6d5 
   src/linux/cgroups.cpp b7d11ac4eb8b78664c8c7bd7a5b0d566b5bf2f0e 
 
 Diff: https://reviews.apache.org/r/36612/diff/
 
 
 Testing
 ---
 
 make check ubuntu 14.4
 
 
 Thanks,
 
 Joerg Schad
 




Review Request 36612: Cleanup of right angle brackets in cgroups code.

2015-07-20 Thread Joerg Schad

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

Review request for mesos and Timothy Chen.


Bugs: Mesos-3086
https://issues.apache.org/jira/browse/Mesos-3086


Repository: mesos


Description
---

Cleanup of right angle brackets in cgroups code.


Diffs
-

  src/linux/cgroups.hpp a47f9a26ead097d5b9a1cf605844d2801d9db6d5 
  src/linux/cgroups.cpp b7d11ac4eb8b78664c8c7bd7a5b0d566b5bf2f0e 

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


Testing
---

make check ubuntu 14.4


Thanks,

Joerg Schad



Re: Review Request 36617: Improved task reconciliation documentation.

2015-07-20 Thread Jan Schlicht

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

(Updated July 20, 2015, 4:21 p.m.)


Review request for mesos and Joerg Schad.


Repository: mesos


Description
---

Improved task reconciliation documentation.


Diffs (updated)
-

  docs/reconciliation.md 17537ba8420c95d833e64ccf82ff9bb4530497f0 

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


Testing
---

https://gist.github.com/nfnt/73532d62fe39d27ff33d


Thanks,

Jan Schlicht



Review Request 36618: Fixed ROOT_CGROUPS_Tasks and ROOT_CGROUPS_Read on Ubunu 14.04.

2015-07-20 Thread Artem Harutyunyan

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

Review request for mesos and Benjamin Hindman.


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


Repository: mesos


Description
---

See summary.


Diffs
-

  src/tests/cgroups_tests.cpp 9f5028f831a5a2fd4f7f0a0b7459c184ea9598fb 

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


Testing
---

sudo make check


Thanks,

Artem Harutyunyan



Re: Review Request 34137: Add support for container image provisioners.

2015-07-20 Thread Jie Yu


 On July 17, 2015, 1:36 a.m., Jie Yu wrote:
  src/slave/containerizer/mesos/containerizer.cpp, line 630
  https://reviews.apache.org/r/34137/diff/3/?file=1009143#file1009143line630
 
  Hum, looks like a bug since, for example, slaveId is a reference and 
  will be invalid when the lambda is called. In general, I think we should 
  avoid using [=] for lambdas because its dangeous!
  
  I would prefer we resort to our old style defer style (e.g., introduce 
  `_provision`).
 
 Jiang Yan Xu wrote:
 [=] captures slaveId by value (copy) so it won't be invalid?
 
 But after when to use lambdas, I think this is a good point and we should 
 establish some best practices. 
 Google style guide has these guidelines: 
 https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Lambda_expressions
  
 
 Avoiding default captures is one of them; limiting the length of lambdas 
 is another.
 
 We should document these, at least reference Google's.
 
 And how about lambdas that simply call another method vs. bind? :)

Aha, good call. I checked the C++11 standard, $5.1.2/14 says that capturing a 
variable of reference type by copy will create a copy of the value referenced 
instead of creating a copy of the reference. Thus the lambda will have its own 
copy of the value that the reference was referencing when it was created.

However, looks like gcc has a bug related to capturing a reference type by 
using [=] so we should probably avoid that as much as possible
http://stackoverflow.com/questions/6529177/capturing-reference-variable-by-copy-in-c0x-lambda


- Jie


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


On July 12, 2015, 4:47 a.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/34137/
 ---
 
 (Updated July 12, 2015, 4:47 a.m.)
 
 
 Review request for mesos, Chi Zhang, Paul Brett, Timothy Chen, and Vinod Kone.
 
 
 Repository: mesos
 
 
 Description
 ---
 
 The MesosContainerizer can optionally provision a root filesystem for the 
 containers.
 
 
 Diffs
 -
 
   include/mesos/slave/isolator.hpp ef2205dd7f4619e53e6cca7cac301f874d08c036 
   src/Makefile.am e5b5d36f0ac160e5a3a9fdc50b31c060a413ce2c 
   src/slave/containerizer/mesos/containerizer.hpp 
 3ac2387eabded61c897a5016655aae10cd1bca91 
   src/slave/containerizer/mesos/containerizer.cpp 
 47d146125dfd4ea909e7ec9d94f41cfa11d035e5 
   src/slave/containerizer/provisioner.hpp PRE-CREATION 
   src/slave/containerizer/provisioner.cpp PRE-CREATION 
   src/slave/flags.hpp 26c778db2303167369af8675fe0441a00a1e9151 
   src/slave/flags.cpp 8632677ebbdbfef8ffa45204b6f63a700baff7f3 
   src/slave/paths.hpp 00476f107ed8233123a6eab0925c9f28aac0a86f 
   src/slave/paths.cpp 0741616b656e947cb460dd6ee6a9a4852be001c2 
   src/slave/state.hpp bb0eee78e118210ccd7fcbd909029412ff106128 
   src/slave/state.cpp f8a9514f52bf9f886171c2a0e674e5a89f8dbea7 
   src/tests/containerizer_tests.cpp 0cdb2d2a3f19a4835e85c6b040759019b03f051e 
 
 Diff: https://reviews.apache.org/r/34137/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 34137: Add support for container image provisioners.

2015-07-20 Thread Timothy Chen


 On July 17, 2015, 1:36 a.m., Jie Yu wrote:
  src/slave/containerizer/provisioner.cpp, line 24
  https://reviews.apache.org/r/34137/diff/3/?file=1009145#file1009145line24
 
  Where is this? This won't compile!

You're right it won't, wierd it compiled for me :( let's fix this!


- Timothy


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


On July 12, 2015, 4:47 a.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/34137/
 ---
 
 (Updated July 12, 2015, 4:47 a.m.)
 
 
 Review request for mesos, Chi Zhang, Paul Brett, Timothy Chen, and Vinod Kone.
 
 
 Repository: mesos
 
 
 Description
 ---
 
 The MesosContainerizer can optionally provision a root filesystem for the 
 containers.
 
 
 Diffs
 -
 
   include/mesos/slave/isolator.hpp ef2205dd7f4619e53e6cca7cac301f874d08c036 
   src/Makefile.am e5b5d36f0ac160e5a3a9fdc50b31c060a413ce2c 
   src/slave/containerizer/mesos/containerizer.hpp 
 3ac2387eabded61c897a5016655aae10cd1bca91 
   src/slave/containerizer/mesos/containerizer.cpp 
 47d146125dfd4ea909e7ec9d94f41cfa11d035e5 
   src/slave/containerizer/provisioner.hpp PRE-CREATION 
   src/slave/containerizer/provisioner.cpp PRE-CREATION 
   src/slave/flags.hpp 26c778db2303167369af8675fe0441a00a1e9151 
   src/slave/flags.cpp 8632677ebbdbfef8ffa45204b6f63a700baff7f3 
   src/slave/paths.hpp 00476f107ed8233123a6eab0925c9f28aac0a86f 
   src/slave/paths.cpp 0741616b656e947cb460dd6ee6a9a4852be001c2 
   src/slave/state.hpp bb0eee78e118210ccd7fcbd909029412ff106128 
   src/slave/state.cpp f8a9514f52bf9f886171c2a0e674e5a89f8dbea7 
   src/tests/containerizer_tests.cpp 0cdb2d2a3f19a4835e85c6b040759019b03f051e 
 
 Diff: https://reviews.apache.org/r/34137/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 36389: Enable remote execution of arbitrary command.

2015-07-20 Thread Benjamin Hindman

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


Apologies for the delay on the review. Let's definitely get a test for this 
stuff too!


src/slave/flags.hpp (lines 118 - 119)
https://reviews.apache.org/r/36389/#comment146243

We name the flags to match how you'd see them on the command line and thus 
use snake case here (see above too). Thanks!

Also, I'd like to suggest 
s/remote_execution_allowed/allow_remote_execution/ in order to be more of a 
verb here, i.e, --allow_remote_execution=true versus 
--remote_execution_allowed=true.



src/slave/main.cpp (lines 261 - 265)
https://reviews.apache.org/r/36389/#comment146245

First, this shoudn't be needed, because the slave will get passed the flags 
and when it initializes can check to see if remote execution has been allowed.

Second, we try and avoid at all costs synchronously calling a libprocess 
process. There is only one place I know of that does this in some tests, but 
there is a big TODO and warning of why we don't want to do this. Happy to 
discuss in more detail. In this case since we shouldn't need this block of code 
at all you can just kill it.



src/slave/slave.hpp (lines 372 - 382)
https://reviews.apache.org/r/36389/#comment146246

These shouldn't be needed, the slave will have the flags and can just read 
the values from there.



src/slave/slave.hpp (lines 571 - 575)
https://reviews.apache.org/r/36389/#comment146247

Not needed, can just read values from 'flags', no need to have two copies, 
then on wonders which is the source of truth? This is one of the main reasons 
we pass 'flags' throughout everywhere as much as possible.



src/slave/slave.cpp (line 517)
https://reviews.apache.org/r/36389/#comment146250

Do you need to capture 'http'?



src/slave/slave.cpp (line 519)
https://reviews.apache.org/r/36389/#comment146248

FYI, the 'this-' isn't needed here and we haven't used it consistently.



src/slave/slave.cpp (line 4700)
https://reviews.apache.org/r/36389/#comment146263

Why `auto` here? Interestingly enough, you do `subprocess.get()` below and 
pass it to an `OptionSubprocess`, which made me jump for a second thinking 
that we'd changed the return type of `process::subprocess()` to be 
`TryOptionprocess::Subprocess` instead of just `Tryprocess::Subprocess`. 
This is why I'm not convinced `auto` actually buys us anything here: the type 
provides documentation.



src/slave/slave.cpp (line 4701)
https://reviews.apache.org/r/36389/#comment146258

What about if 'shell' is true? Seems like we should support both cases, or 
explicitly return a `BadRequest` or `Unsupported...` if we don't support it for 
now.



src/slave/slave.cpp (lines 4703 - 4705)
https://reviews.apache.org/r/36389/#comment146260

One of these things is not like the others. ;-)

Any reason you didn't use the 'process::' prefix on the third 
`Subprocess::PIPE()`?



src/slave/slave.cpp (line 4712)
https://reviews.apache.org/r/36389/#comment146262

Why is this an `Option`? The return type of `process::subprocess(...)` 
above is `Tryprocess::Subprocess`, so no need to put it into an option. In 
fact, why not just use `subprocess.get()` everywhere below instead of 
`cmd.get()`?



src/slave/slave.cpp (line 4713)
https://reviews.apache.org/r/36389/#comment146261

If we don't use stderr my recommendation would be to just send it to 
'/dev/null' by using `process::Subprocess::PATH(/dev/null)` above instead of 
a `process::Subprocess::PIPE()`.



src/slave/slave.cpp (line 4722)
https://reviews.apache.org/r/36389/#comment146264

Unused variable.



src/slave/slave.cpp (line 4731)
https://reviews.apache.org/r/36389/#comment146265

We don't actually know if this exited unless we do `WIFEXITED` first, it 
might have terminated due to a signal (which we determine via `WIFSIGNALED`).



src/slave/slave.cpp (line 4735)
https://reviews.apache.org/r/36389/#comment146266

Okay nevermind, it looks like you do use stderr?

Either way, calling 'get()' here now is blocking, because technically even 
though the process is completed we might not yet have read all the data from 
the pipe. I think what you want here is to wait for all of 'status()', 'out', 
and 'err', e.g., something like:

CHECK_SOME(subprocess.get().out());
CHECK_SOME(subprocess.get().err());

Futurestring out = subprocess.get().out().get();
Futurestring err = subprocess.get().err().get();

return await(subprocess.get().status(), out, err)
  .then(...);
  
Note that 'await' will just mean the futures have completed, but they might 
have failed. You'd want 'collect' if you want to make sure they're successful. 
I think we'd need some overloads to make 'collect' work in this case too, but 
that's a quick fix, just 

Re: Review Request 36389: Enable remote execution of arbitrary command.

2015-07-20 Thread Jie Yu


 On July 20, 2015, 4:20 p.m., Benjamin Hindman wrote:
  Apologies for the delay on the review. Let's definitely get a test for this 
  stuff too!

Ben, not sure if you see my comments. I am not convinced this should be part of 
Mesos. Should we reach a consensus first before moving this forward? Thanks.


- Jie


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


On July 14, 2015, 11:20 p.m., Marco Massenzio wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36389/
 ---
 
 (Updated July 14, 2015, 11:20 p.m.)
 
 
 Review request for mesos, Benjamin Hindman and Cody Maloney.
 
 
 Bugs: MESOS-2830
 https://issues.apache.org/jira/browse/MESOS-2830
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Jira: MESOS-2830
 
 Under certain (maintenance) circumnstance, it may be necessary
 (or desirable) to execute arbitrary operator's commands on the
 slave (the entire fleet or a subset thereof) bypassing the Mesos
 Task execution mechanism; this may typically be necessary for
 maintenance and/or emergency actions.
 
 This patch adds an HTTP endpoint (/execute) which accepts a
 JSON-encoded CommandInfo structure and executes the given
 command (with optional arguments).
 
 The output of the command (along with potentially any stderr
 messages) is returned JSON-encoded in the Response.
 
 For more details, see the design doc at:
 https://goo.gl/4npTMU
 
 
 Diffs
 -
 
   src/slave/flags.hpp 26c778db2303167369af8675fe0441a00a1e9151 
   src/slave/flags.cpp 8632677ebbdbfef8ffa45204b6f63a700baff7f3 
   src/slave/main.cpp 8008430e98773d8be9ba5ac6385cffb2e351932a 
   src/slave/slave.hpp dec4ca8323e151a6d0f9139214ff0ef6e3e3375a 
   src/slave/slave.cpp 2119b5176aa7cfb7b0b551d4d4f65ee12818b9e4 
 
 Diff: https://reviews.apache.org/r/36389/diff/
 
 
 Testing
 ---
 
 make check
 
 lots of manual testing (using Postman, REST client)
 
 
 Thanks,
 
 Marco Massenzio
 




Re: Review Request 36501: MESOS-3023

2015-07-20 Thread haosdent huang

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



src/tests/fetcher_tests.cpp (line 297)
https://reviews.apache.org/r/36501/#comment146333

According 
https://github.com/apache/mesos/blob/master/docs/mesos-c%2B%2B-style-guide.md#function-definitioninvocation
 You indent is not correct here. Maybe need change to like this

```
process::http::URL url(
http,
process.self().address.ip,
process.self().address.port,
/help);
```

But I perfer chang it like this
```
const network::Address address = process.self().address;
process::http::URL url(http, address.ip, address.port, /help);
```

Or add `using URL` like this
```
using process::Future;

using process::http::URL; (Left a blank below and after process::Future)
```

and then
```
const network::Address address = process.self().address;
URL url(http, address.ip, address.port, /help);
```



src/tests/fetcher_tests.cpp (line 314)
https://reviews.apache.org/r/36501/#comment146334

It would be better to add ```#include stout/stringify.hpp``` after 
```#include stout/protobuf.hpp```


- haosdent huang


On July 18, 2015, 9:47 a.m., Klaus Ma wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36501/
 ---
 
 (Updated July 18, 2015, 9:47 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-3023
 https://issues.apache.org/jira/browse/MESOS-3023
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Fix for MESOS-3023 (Factoring out the pattern for URL generation)
 
 
 Diffs
 -
 
   src/tests/fetcher_tests.cpp ae10c42 
 
 Diff: https://reviews.apache.org/r/36501/diff/
 
 
 Testing
 ---
 
 1. Build successfully in Linux
 2. Test passed by src/mesos-tests --gtest_filter=FetcherTest.OSNetUriTest
 
 
 Thanks,
 
 Klaus Ma
 




Re: Review Request 36501: MESOS-3023

2015-07-20 Thread haosdent huang


 On July 20, 2015, 4:42 p.m., haosdent huang wrote:
 

Its a bit difficult to follow the mesos style guide at first. Maybe the 
committer could help you reformat it when summit @klausma1982 . :-)


- haosdent


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


On July 18, 2015, 9:47 a.m., Klaus Ma wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36501/
 ---
 
 (Updated July 18, 2015, 9:47 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-3023
 https://issues.apache.org/jira/browse/MESOS-3023
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Fix for MESOS-3023 (Factoring out the pattern for URL generation)
 
 
 Diffs
 -
 
   src/tests/fetcher_tests.cpp ae10c42 
 
 Diff: https://reviews.apache.org/r/36501/diff/
 
 
 Testing
 ---
 
 1. Build successfully in Linux
 2. Test passed by src/mesos-tests --gtest_filter=FetcherTest.OSNetUriTest
 
 
 Thanks,
 
 Klaus Ma
 




Re: Review Request 34881: let libprocess to compile on arm64 servers

2015-07-20 Thread Vinod Kone


 On June 22, 2015, 3:48 a.m., Cody Maloney wrote:
  3rdparty/libprocess/3rdparty/protobuf-2.5.0.patch, line 18
  https://reviews.apache.org/r/34881/diff/1/?file=975553#file975553line18
 
  Where did this header come from? If we were to just update protobuf to 
  a newer version would it just compile?
 
 Dong Robin wrote:
 This header comes from 
 https://github.com/google/protobuf/blob/master/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h,
  the latest protobuf code.
 If we update the protobuf to the newer version, it would just compile. 
 And, if we update protobuf to the latest version (which already supported 
 arm64 arch), we don't need this patch anymore.

feel free to send a patch for https://issues.apache.org/jira/browse/MESOS-2504 
to upgrade protobuf to the latest version.


- Vinod


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


On June 1, 2015, 7:10 a.m., Dong Robin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/34881/
 ---
 
 (Updated June 1, 2015, 7:10 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-2786
 https://issues.apache.org/jira/browse/MESOS-2786
 
 
 Repository: mesos
 
 
 Description
 ---
 
 To compile libprocess on arm64(aarch64) servers, we need to
 add patches for 3rd software to recognize aarch64 architecture
 and replace x86 assemble language to standard gcc buildin function
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/Makefile.am 
 519e38c2c22904e75f36b936142a915a8f615b21 
   3rdparty/libprocess/3rdparty/glog-0.3.3.patch 
 76b8c0fe3b4615371e265bab713d62c896b7c3d6 
   3rdparty/libprocess/3rdparty/libev-4.15.patch 
 bbd83e6928e6caba3bc5a9739823d60923cfaa2a 
   3rdparty/libprocess/3rdparty/protobuf-2.5.0.patch PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/34881/diff/
 
 
 Testing
 ---
 
 Build and run mesos-mater/mesos-slave succesly on arm64 server.
 
 
 Thanks,
 
 Dong Robin
 




Re: Review Request 36402: Adding 'Accept' header in request

2015-07-20 Thread Isabel Jimenez


 On July 16, 2015, 12:10 a.m., Anand Mazumdar wrote:
  3rdparty/libprocess/src/http.cpp, line 126
  https://reviews.apache.org/r/36402/diff/3/?file=1012922#file1012922line126
 
  Whoops ! Let's return false as earlier. Also add a test-case for empty 
  check. ( Accept-Encoding )
 
 Isabel Jimenez wrote:
 Added a TODO since it's not standard to return false here.
 
 Anand Mazumdar wrote:
 Looks like I am missing something here. This is a method for 
 Accept-Encoding. If the header is not present and you pass gzip as argument 
 to the method , it should return false as was the case earlier since the 
 client can't accept gzip ( gzip is a bad example here owing to the 
 exception in the rfc around it/compress). Did you get confused with it being 
 the Accept header ?
 
 Re-opening the issue for now. I think we can get rid of the TODO here.

`Accept` and `Accept-encoding` have the same behavior in this case. From RFC 
14.3 Accept-Encoding : If no Accept-Encoding field is present in a request, the 
server MAY assume that the client will accept any content coding.


- Isabel


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


On July 15, 2015, 11:54 p.m., Isabel Jimenez wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36402/
 ---
 
 (Updated July 15, 2015, 11:54 p.m.)
 
 
 Review request for mesos, Anand Mazumdar, Ben Mahler, Marco Massenzio, and 
 Vinod Kone.
 
 
 Repository: mesos-incubating
 
 
 Description
 ---
 
 Adding a method for Accept header in request + refactor of Accept-Encoding
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/process/http.hpp 72b6d27 
   3rdparty/libprocess/src/http.cpp d168579 
   3rdparty/libprocess/src/tests/http_tests.cpp 01f243c 
 
 Diff: https://reviews.apache.org/r/36402/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Isabel Jimenez
 




Re: Review Request 36586: Updated scheduler driver to send SUBSCRIBE call.

2015-07-20 Thread Ben Mahler

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

Ship it!


Looks good, just a question around whether we want to be testing for 
'FrameworkID' being set correctly, in order to distinguish subscription from 
re-subscription (yet another time that re-subscription seems to be a useful 
concept ;)).


src/tests/rate_limiting_tests.cpp (lines 134 - 136)
https://reviews.apache.org/r/36586/#comment146421

Note that in these tests, we've lost the fact that some of these subscribe 
calls should not have a FrameworkID (i.e. register) and some should have a 
FrameworkID (i.e. re-register). I suppose we were technically not testing this 
before, but at least we had more confidence given the different types of the 
messages.

Should we be adding in some expectations for 'FrameworkID' being set/unset 
appropriately?


- Ben Mahler


On July 17, 2015, 11:08 p.m., Vinod Kone wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36586/
 ---
 
 (Updated July 17, 2015, 11:08 p.m.)
 
 
 Review request for mesos and Ben Mahler.
 
 
 Bugs: MESOS-3055
 https://issues.apache.org/jira/browse/MESOS-3055
 
 
 Repository: mesos
 
 
 Description
 ---
 
 See summary.
 
 
 Diffs
 -
 
   src/sched/sched.cpp 25e2d660f4ee4c0b21c887f78ad04819012966f9 
   src/tests/master_tests.cpp 1e934c4b168a0afabd5065e2c8ffa131362ed29b 
   src/tests/rate_limiting_tests.cpp 6a93df086bc0f256c7750d06f950d61f2dfb7b5c 
   src/tests/slave_recovery_tests.cpp de2fc280abae98a5fbbeae6e230a1bfdaf0fc86e 
 
 Diff: https://reviews.apache.org/r/36586/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Vinod Kone
 




Re: Review Request 36048: Updated authorizer to allow for modularized implementations.

2015-07-20 Thread Alexander Rojas

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

(Updated July 20, 2015, 11 p.m.)


Review request for mesos, Adam B, Alexander Rukletsov, Kapil Arya, and Till 
Toenshoff.


Changes
---

Till's review. Rebase


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


Repository: mesos


Description
---

Splits and updates the original declaration of the `Authorizer` into its 
interface and a default implementation, the `LocalAuthorizer`.

Following the pattern of the modularized `Authenticator`, it generates a 
default constructor which is required when writing a `TYPED_TEST` in
a follow up patch. Additionally, an initialize method has been added, needed 
for passing in the current ACL definitions as provided via
flags.

Other changes are just updates to allow for compilation.


Diffs (updated)
-

  include/mesos/authorizer/authorizer.hpp PRE-CREATION 
  include/mesos/authorizer/authorizer.proto PRE-CREATION 
  include/mesos/mesos.proto cb24125a3f05e0d38fb22e481a15ceb21f882d27 
  include/mesos/type_utils.hpp 86b37ca1f63e4687af4e86731dceeb1c9c219c5e 
  src/Makefile.am e2cbd1524f25b3e3a9419af6bdf8cc6e5022a784 
  src/authorizer/authorizer.hpp c039d9412780aa199db169b31991bf9f45b07d0f 
  src/authorizer/authorizer.cpp 21e97e315478a4ca9442af83732665f85eb2f8fc 
  src/common/parse.hpp 8d7ddd6819dad98cd96d5aaae8fe57caf1ee7098 
  src/examples/persistent_volume_framework.cpp 
c6d6ed337bfca91dc146cb31298cabebdbb13509 
  src/local/local.cpp 1953d84c75a83f4ace944d6243456235d8a193ff 
  src/master/flags.hpp f2cd19a6edfaa4e5bb31f024ef8d5beda32fbc2f 
  src/master/http.cpp 6f5ca02c52462495b84e77525a6c88299746ece2 
  src/master/main.cpp fd4de4d0d9c3e9617408022d10b5e161bdc911e1 
  src/master/master.hpp 2343a684402972a8c336c0dcdde0bfaffabe7cec 
  src/master/master.cpp 2f00f240ed2cd59ec0c2eae7fd2567f0edb8d9e0 
  src/tests/authorization_tests.cpp 99bb06c1ee73a90abaeeabb742e45aa188c21a87 
  src/tests/cluster.hpp ba17c0c74a9dc36c595c4ad77fe68be94c5c7c0b 
  src/tests/mesos.hpp 23d9841c7cfb16abef89a53d29a256a2c5e94b52 
  src/tests/mesos.cpp f09ef0f99573716de8905f49dcc0c9df20e31ea9 

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


Testing
---

make check


Thanks,

Alexander Rojas



Re: Review Request 36450: Introduced Address and URL protobufs.

2015-07-20 Thread Ben Mahler


 On July 19, 2015, 7:38 p.m., Benjamin Hindman wrote:
  Hasn't this been submitted?

Yep, marked as submitted.


- Ben


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


On July 17, 2015, 1:36 a.m., Ben Mahler wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36450/
 ---
 
 (Updated July 17, 2015, 1:36 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Jie Yu, and Vinod Kone.
 
 
 Bugs: MESOS-3012
 https://issues.apache.org/jira/browse/MESOS-3012
 
 
 Repository: mesos
 
 
 Description
 ---
 
 To make the API more consistent, we'd like to have a single way to express a 
 network address.
 Also would like a way to express an HTTP address (a URL), which may include a 
 path prefix.
 
 This also enables the message passing optimization in the scheduler driver 
 when receiving events, per MESOS-3012.
 
 
 Diffs
 -
 
   include/mesos/mesos.proto d2f482668e671b30f2586f6aae9c20132ab4d1e4 
   include/mesos/type_utils.hpp eb7fe2562cfcff52288d1c216425068d1ba551c0 
   src/common/type_utils.cpp 2ad5b4cbe324c83e81fd7df7430652f5c0a4e30f 
   src/master/master.cpp 082758ef54597ad32cf0d025c147f0f44dd11961 
   src/tests/master_tests.cpp 767c86cbde31eeb49d110d04bfb5a3eb5d469afc 
 
 Diff: https://reviews.apache.org/r/36450/diff/
 
 
 Testing
 ---
 
 Modified the simplest test I could find for offers.
 
 
 Thanks,
 
 Ben Mahler
 




Re: Review Request 36514: [MESOS-898] Add CMake-based build system for the process library

2015-07-20 Thread Alex Clemmer

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

(Updated July 20, 2015, 7:33 p.m.)


Review request for mesos, Benjamin Hindman, Joris Van Remoortere, and Timothy 
St. Clair.


Changes
---

Address issues Artem had. Most of the diff is just moving away from the 
monolithic `CMakeLists.txt` model and towards modularity.


Repository: mesos


Description
---

This commit is the second in a series of two commits that will introduce
a CMake-based build system for Mesos. The first introduced the build
system for the core Mesos project; this one will introduce a similar
system for the process library.

For more details see the core Mesos commit.


Diffs (updated)
-

  3rdparty/libprocess/3rdparty/CMakeLists.txt PRE-CREATION 
  3rdparty/libprocess/CMakeLists.txt PRE-CREATION 
  3rdparty/libprocess/cmake/ProcessConfigure.cmake PRE-CREATION 
  3rdparty/libprocess/cmake/ProcessTestsConfigure.cmake PRE-CREATION 
  3rdparty/libprocess/cmake/macros/External.cmake PRE-CREATION 
  3rdparty/libprocess/cmake/macros/PatchCommand.cmake PRE-CREATION 
  3rdparty/libprocess/src/CMakeLists.txt PRE-CREATION 
  3rdparty/libprocess/src/tests/CMakeLists.txt PRE-CREATION 
  CMakeLists.txt PRE-CREATION 
  cmake/MesosConfigure.cmake PRE-CREATION 

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


Testing
---

Includes tests for the process library that all run and pass.


Thanks,

Alex Clemmer



Re: Review Request 36618: Fixed ROOT_CGROUPS_Tasks and ROOT_CGROUPS_Read on Ubunu 14.04.

2015-07-20 Thread Timothy Chen

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



src/tests/cgroups_tests.cpp (line 438)
https://reviews.apache.org/r/36618/#comment146337

Is invalid actually a valid hierarchy? Just want to know what's the 
rationale changinig this to invalid42


- Timothy Chen


On July 20, 2015, 2:56 p.m., Artem Harutyunyan wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36618/
 ---
 
 (Updated July 20, 2015, 2:56 p.m.)
 
 
 Review request for mesos and Benjamin Hindman.
 
 
 Bugs: MESOS-3079
 https://issues.apache.org/jira/browse/MESOS-3079
 
 
 Repository: mesos
 
 
 Description
 ---
 
 See summary.
 
 
 Diffs
 -
 
   src/tests/cgroups_tests.cpp 9f5028f831a5a2fd4f7f0a0b7459c184ea9598fb 
 
 Diff: https://reviews.apache.org/r/36618/diff/
 
 
 Testing
 ---
 
 sudo make check
 
 
 Thanks,
 
 Artem Harutyunyan
 




Re: Review Request 36318: [MESOS-2294] Add support to master for streaming subscribed events

2015-07-20 Thread Anand Mazumdar


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  Thanks Anand!
  
  Couple of issues, per our chat on IRC:
  
  (1) There is no 'pid' for pure HTTP schedulers, so we'll need to ensure 
  that the master / slave can handle not having a framework pid, which is a 
  bit tricky to get right. Note that the slave directly sends messages to 
  frameworks, so we'll need to make sure that it can differentiate between 
  when it needs to forward to the master vs. directly to the framework. 
  There's also a bunch of code in the master that uses '`framework-pid`' 
  that we'll need to go over and update to handle http schedulers.
  
  (2) To continue to support the scheduler driver's message passing 
  optimization while still having a driver that speaks HTTP, we'll need to 
  pass it's PID somehow. Vinod and I were thinking of having a special HTTP 
  header to pass it through.
  
  I left some other comments, but let's figure out a plan during the http 
  sync tomorrow.

Thanks for the review. We can easily deal with both of the issues i.e. the 'pid 
of http schedulers'/'scheduler driver message passing' independently in a 
separate change and should not block this review ?

This abstraction for FrameworkDriver already takes care of all the occurences 
of framework-pid and correctly resolves them to writing the contents on the 
stream for http schedulers.


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  src/common/protobuf_utils.hpp, line 83
  https://reviews.apache.org/r/36318/diff/3/?file=1012218#file1012218line83
 
  Why define this? Seems that we would want this case to be a compilation 
  error instead of having an Error at runtime.

This has to do with how the FrameworkDriver::send is templated. It's a function 
that handles both events and messages ( to ensure backward compatibility ). The 
compiler would barf out if I don't have this generic function that handles a 
generic message.

This would anyways go away when we have implemented support for all the message 
types we support.


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  src/common/protobuf_utils.cpp, lines 57-60
  https://reviews.apache.org/r/36318/diff/3/?file=1012219#file1012219line57
 
  Mind fixing this in a separate patch since it's independent? We can get 
  it committed quickly that way. Also, seems like we should have had 
  message as an Option, but let's save that for later.

This is a chicken and a egg problem. I need to access the delcared functions in 
the header file and as soon as I include that, I would need to remove these 
default argument values. The only reason this worked till now was that someone 
accidently forgot including the header file. :)

Do you want me to ignore including the header file for now too like others did ?


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  src/common/protobuf_utils.cpp, lines 193-202
  https://reviews.apache.org/r/36318/diff/3/?file=1012219#file1012219line193
 
  Why is this a Try? It seems pretty dangerous for message conversion to 
  fail at run time, was there some errors we need to capture, even if we 
  remove the generic 'Message' parsing error here (move it to compile time 
  error).

The only reason for having this as a TryEvent was to make the generic 
messages that have not been implemented throw an error. Eventually when we have 
implement all the message types, we can change this to just being events. I can 
add a TODO for this ?


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  src/master/http.cpp, lines 314-325
  https://reviews.apache.org/r/36318/diff/3/?file=1012220#file1012220line314
 
  Whoops, this will crash if contentType is none. Mind also being 
  explicit about protobuf, rather than assuming that !json implies protobuf?
  
  Also, would you mind pulling out this code into a separate patch? It 
  will make it easier to land incrementally :)

I had already added a TODO for this // Add validations for Content-Type, 
Accept headers being present.

This is being worked upon by Isabel as part of the validations change. I can 
add a separate TODO for being more explicit about protobuf  ?


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  src/master/http.cpp, line 346
  https://reviews.apache.org/r/36318/diff/3/?file=1012220#file1012220line346
 
  Not yours, but a 501 seems more appropriate here for now?

Sure, I can make the change.


 On July 21, 2015, 12:58 a.m., Ben Mahler wrote:
  src/master/master.cpp, line 1747
  https://reviews.apache.org/r/36318/diff/3/?file=101#file101line1747
 
  frameworkInfo.name() is not equivalent to the framework's pid.
  
  Per our chat on IRC, we won't have the PID for pure HTTP frameworks, 
  which means that the slave needs to send messages through the master, and 
  we'll probably need to re-work some more of the master code as well.

We can easily carry out the refactoring to not need framework pid as part of 
another change. This change allows us to get the basic set up 

Re: Review Request 36402: Adding 'Accept' header in request

2015-07-20 Thread Ben Mahler

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


Thanks Isabel!

Could we remove the changes to 'acceptEncoding'? The references to the RFC are 
more appropriate in the implementation, rather than the API documentation. In 
the API documentation, we can refer people to the RFC, and we may want to take 
note of places where we're not following the RFC (e.g. missing 
'Accept-Encoding' header and curl). But I originally wrote these comments to 
guide someone who is trying to understand the implementation. Also, it's 
independent :)

How about using candidates (similarly to 'acceptsEncoding')? That would make 
both of these pretty similar and easier to understand. Also note that we should 
watch out for the existing bug in 'acceptsEncoding':

```
bool Request::acceptsMediaType(const string mediaType_) const
{
  vectorstring mediaType = strings::tokenize(mediaType_, /);
  
  if (mediaType.size() != 2) {
return false;
  }
  
  Optionstring accept = headers.get(Accept);

  // If no Accept header field is present, then it is assumed
  // that the client accepts all media types.
  if (accept.isNone()) {
return true;
  }

  // Remove spaces and tabs for easier parsing.
  accept = strings::remove(accept.get(),  );
  accept = strings::remove(accept.get(), \t);
  accept = strings::remove(accept.get(), \n);

  // First look for the exact media type, followed by
  // a type/* match, followed by */*.
  vectorstring candidates;
  candidates.push_back(mediaType[0] + / + mediaType[1]);
  candidates.push_back(mediaType[0] + /*);
  candidates.push_back(*/*);

  foreach (const string candidate, candidates) {
// Similar code to 'acceptsEncoding'.
// NOTE that it has a bug because startswith will match
// only by prefix!
  }

  ...
}
```


3rdparty/libprocess/src/http.cpp (lines 122 - 127)
https://reviews.apache.org/r/36402/#comment146454

Actually, thinking over this again, I recall that curl doesn't set 
Accept-Encoding by default and does not decompress by default, which is pretty 
annoying. We should probably leave a NOTE here about this for now, as to why 
this returns false.

Also, s/Accept/Accept-Encoding/



3rdparty/libprocess/src/http.cpp (line 142)
https://reviews.apache.org/r/36402/#comment146471

Only doing startswith was actually a bug on my part! e.g. gzipper;q=1.0 
would match gzip..



3rdparty/libprocess/src/http.cpp (line 168)
https://reviews.apache.org/r/36402/#comment146456

What do you mean here by fully support, can you spell out what part is 
not supported? It looks like we don't need to:

Note that [HTML20] included an optional level parameter; in practice, 
this parameter was never used and has been removed from this specification. 
[HTML30] also suggested a version parameter; in practice, this parameter also 
was never used and has been removed from this specification.



3rdparty/libprocess/src/http.cpp (line 170)
https://reviews.apache.org/r/36402/#comment146462

s/accepted/accept/



3rdparty/libprocess/src/http.cpp (line 183)
https://reviews.apache.org/r/36402/#comment146464

s/content/accepted/ or s/content/acceptable/



3rdparty/libprocess/src/http.cpp (lines 185 - 187)
https://reviews.apache.org/r/36402/#comment146461

This seems like an malformed 'Accept' header, any reason to prefer 
returning false instead of just skipping? Ideally, we've validated already 
against malformed requests?



3rdparty/libprocess/src/http.cpp (lines 189 - 190)
https://reviews.apache.org/r/36402/#comment146466

Whoops, don't you need to check the size of this? It looks like valid input 
needs 2 tokens? Perhaps we should do this near the beginning?



3rdparty/libprocess/src/http.cpp (lines 190 - 199)
https://reviews.apache.org/r/36402/#comment146465

Let's get some newlines in here to make it more readable :)



3rdparty/libprocess/src/http.cpp (lines 192 - 193)
https://reviews.apache.org/r/36402/#comment146467

Is startswith sufficient? Seems like you need a full match?

Hm.. it doesn't look like `*/foo` should be considered valid, but this 
code considers `*/foo` to match `bar/foo`.



3rdparty/libprocess/src/http.cpp (lines 197 - 199)
https://reviews.apache.org/r/36402/#comment146468

Hm.. we should split on ';' before, it's not really part of the content 
token.


- Ben Mahler


On July 15, 2015, 11:54 p.m., Isabel Jimenez wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36402/
 ---
 
 (Updated July 15, 2015, 11:54 p.m.)
 
 
 Review request for mesos, Anand Mazumdar, Ben Mahler, Marco Massenzio, and 
 Vinod Kone.
 
 
 Repository: mesos-incubating
 
 
 Description
 ---
 
 Adding a 

Re: Review Request 36608: Add ppc64le architecture support for leveldb and zookeeper

2015-07-20 Thread Mesos ReviewBot

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


Bad patch!

Reviews applied: [36607]

Failed command: ./support/apply-review.sh -n -r 36607

Error:
 2015-07-21 02:25:57 URL:https://reviews.apache.org/r/36607/diff/raw/ [997/997] 
- 36607.patch [1]
error: missing binary patch data for 
'3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz'
error: binary patch does not apply to 
'3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz'
error: 3rdparty/libprocess/3rdparty/glog-0.3.3.tar.gz: patch does not apply
error: missing binary patch data for 
'3rdparty/libprocess/3rdparty/libev-4.15.tar.gz'
error: binary patch does not apply to 
'3rdparty/libprocess/3rdparty/libev-4.15.tar.gz'
error: 3rdparty/libprocess/3rdparty/libev-4.15.tar.gz: patch does not apply
error: missing binary patch data for 
'3rdparty/libprocess/3rdparty/protobuf-2.5.0.tar.gz'
error: binary patch does not apply to 
'3rdparty/libprocess/3rdparty/protobuf-2.5.0.tar.gz'
error: 3rdparty/libprocess/3rdparty/protobuf-2.5.0.tar.gz: patch does not apply
Failed to apply patch

- Mesos ReviewBot


On July 20, 2015, 3:45 a.m., Jihun Kang wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36608/
 ---
 
 (Updated July 20, 2015, 3:45 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-3084
 https://issues.apache.org/jira/browse/MESOS-3084
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Add ppc64le architecture support for leveldb and zookeeper
 
 
 Diffs
 -
 
   3rdparty/leveldb.tar.gz b6ea2c7df8f0eef687f9ad90af70f35f81743cbc 
   3rdparty/zookeeper-3.4.5.tar.gz 1a547fe17a6fad86012f855d3c4cc38fed4899fc 
 
 Diff: https://reviews.apache.org/r/36608/diff/
 
 
 Testing
 ---
 
 make check has passed on mesos-0.22.1.
 
 [--] Global test environment tear-down
 [==] 539 tests from 86 test cases ran. (366753 ms total)
 [  PASSED  ] 539 tests.
 
 
 Thanks,
 
 Jihun Kang
 




Re: Review Request 36318: [MESOS-2294] Add support to master for streaming subscribed events

2015-07-20 Thread Ben Mahler

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


Thanks Anand!

Couple of issues, per our chat on IRC:

(1) There is no 'pid' for pure HTTP schedulers, so we'll need to ensure that 
the master / slave can handle not having a framework pid, which is a bit tricky 
to get right. Note that the slave directly sends messages to frameworks, so 
we'll need to make sure that it can differentiate between when it needs to 
forward to the master vs. directly to the framework. There's also a bunch of 
code in the master that uses '`framework-pid`' that we'll need to go over and 
update to handle http schedulers.

(2) To continue to support the scheduler driver's message passing optimization 
while still having a driver that speaks HTTP, we'll need to pass it's PID 
somehow. Vinod and I were thinking of having a special HTTP header to pass it 
through.

I left some other comments, but let's figure out a plan during the http sync 
tomorrow.


src/common/protobuf_utils.hpp (line 80)
https://reviews.apache.org/r/36318/#comment146423

We usually add the argument name in the header, so:

```
Tryscheduler::Event event(const FrameworkRegisteredMessage message);
```



src/common/protobuf_utils.hpp (line 83)
https://reviews.apache.org/r/36318/#comment146422

Why define this? Seems that we would want this case to be a compilation 
error instead of having an Error at runtime.



src/common/protobuf_utils.cpp (lines 57 - 60)
https://reviews.apache.org/r/36318/#comment146424

Mind fixing this in a separate patch since it's independent? We can get it 
committed quickly that way. Also, seems like we should have had message as an 
Option, but let's save that for later.



src/common/protobuf_utils.cpp (lines 193 - 202)
https://reviews.apache.org/r/36318/#comment146425

Why is this a Try? It seems pretty dangerous for message conversion to fail 
at run time, was there some errors we need to capture, even if we remove the 
generic 'Message' parsing error here (move it to compile time error).



src/master/http.cpp (lines 314 - 325)
https://reviews.apache.org/r/36318/#comment146450

Whoops, this will crash if contentType is none. Mind also being explicit 
about protobuf, rather than assuming that !json implies protobuf?

Also, would you mind pulling out this code into a separate patch? It will 
make it easier to land incrementally :)



src/master/http.cpp (line 346)
https://reviews.apache.org/r/36318/#comment146451

Not yours, but a 501 seems more appropriate here for now?



src/master/master.cpp (line 1747)
https://reviews.apache.org/r/36318/#comment146452

frameworkInfo.name() is not equivalent to the framework's pid.

Per our chat on IRC, we won't have the PID for pure HTTP frameworks, which 
means that the slave needs to send messages through the master, and we'll 
probably need to re-work some more of the master code as well.


- Ben Mahler


On July 15, 2015, 4:56 a.m., Anand Mazumdar wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36318/
 ---
 
 (Updated July 15, 2015, 4:56 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Isabel Jimenez, Marco 
 Massenzio, and Vinod Kone.
 
 
 Bugs: MESOS-2294
 https://issues.apache.org/jira/browse/MESOS-2294
 
 
 Repository: mesos
 
 
 Description
 ---
 
 This change lays the ground-work for the master's ability to stream events 
 back to the client. This review turned out a bit too large for my own liking 
 but in a nutshell, it just takes a subscribe request and puts a subscribed 
 event back on the stream.
 
 Explanation of changes:
 - Made a generic FrameworkDriver interface that the master now uses to 
 communicate with the frameworks instead of just invoking 
 send(framework-pid,...)
 - FrameworkDriver can be of 2 types http, libprocess. An Optional member 
 variable is used to distinguiush between them.
 - This still uses hard-coded http related constants. They can go away when 
 Isabel submits her validation change (36217)
 - This change prefers use of using trailing under-scores as member variables 
 from the style guide.
 
 
 Diffs
 -
 
   src/common/protobuf_utils.hpp afe5a85d3f58eaabb16807253c5fcc07cabcf8e8 
   src/common/protobuf_utils.cpp 9ac81c38efd70f92c64a5865fa79fe516e84dd92 
   src/master/http.cpp 23a6d4bd2f60cb4a4ad463aea7cc032941578bdc 
   src/master/master.hpp 2343a684402972a8c336c0dcdde0bfaffabe7cec 
   src/master/master.cpp b877676afa6f3833eb7d2fb06beeaa288bd8bd5d 
   src/tests/http_api_tests.cpp 64bbeb6699171e85a5be293919ad9f32ded0ebac 
 
 Diff: https://reviews.apache.org/r/36318/diff/
 
 
 Testing
 ---
 
 make check + a simple test 

Review Request 36629: stout: Added support for 'synchronized_wait'.

2015-07-20 Thread Michael Park

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

Review request for mesos, Benjamin Hindman and Joris Van Remoortere.


Repository: mesos


Description
---

See summary.


Diffs
-

  3rdparty/libprocess/3rdparty/stout/include/stout/synchronized.hpp 
e40ec55f7818fad8703787ecb67869c9e1922e85 

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


Testing
---

`make check`


Thanks,

Michael Park



Re: Review Request 34137: Add support for container image provisioners.

2015-07-20 Thread Jie Yu

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



src/slave/containerizer/mesos/containerizer.cpp (lines 185 - 186)
https://reviews.apache.org/r/34137/#comment146447

Hum, you put provisioner.cpp under OS_LINUX guard. There'll be a link error 
on OSX since MesosContainerizer supports all platforms.


- Jie Yu


On July 12, 2015, 4:47 a.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/34137/
 ---
 
 (Updated July 12, 2015, 4:47 a.m.)
 
 
 Review request for mesos, Chi Zhang, Paul Brett, Timothy Chen, and Vinod Kone.
 
 
 Repository: mesos
 
 
 Description
 ---
 
 The MesosContainerizer can optionally provision a root filesystem for the 
 containers.
 
 
 Diffs
 -
 
   include/mesos/slave/isolator.hpp ef2205dd7f4619e53e6cca7cac301f874d08c036 
   src/Makefile.am e5b5d36f0ac160e5a3a9fdc50b31c060a413ce2c 
   src/slave/containerizer/mesos/containerizer.hpp 
 3ac2387eabded61c897a5016655aae10cd1bca91 
   src/slave/containerizer/mesos/containerizer.cpp 
 47d146125dfd4ea909e7ec9d94f41cfa11d035e5 
   src/slave/containerizer/provisioner.hpp PRE-CREATION 
   src/slave/containerizer/provisioner.cpp PRE-CREATION 
   src/slave/flags.hpp 26c778db2303167369af8675fe0441a00a1e9151 
   src/slave/flags.cpp 8632677ebbdbfef8ffa45204b6f63a700baff7f3 
   src/slave/paths.hpp 00476f107ed8233123a6eab0925c9f28aac0a86f 
   src/slave/paths.cpp 0741616b656e947cb460dd6ee6a9a4852be001c2 
   src/slave/state.hpp bb0eee78e118210ccd7fcbd909029412ff106128 
   src/slave/state.cpp f8a9514f52bf9f886171c2a0e674e5a89f8dbea7 
   src/tests/containerizer_tests.cpp 0cdb2d2a3f19a4835e85c6b040759019b03f051e 
 
 Diff: https://reviews.apache.org/r/34137/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 36610: Add explicit syscall header file to linux fs

2015-07-20 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [36610]

All tests passed.

- Mesos ReviewBot


On July 20, 2015, 4:21 a.m., Jihun Kang wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36610/
 ---
 
 (Updated July 20, 2015, 4:21 a.m.)
 
 
 Review request for mesos.
 
 
 Bugs: MESOS-3085
 https://issues.apache.org/jira/browse/MESOS-3085
 
 
 Repository: mesos
 
 
 Description
 ---
 
 Add explicit syscall header file to linux fs
 
 
 Diffs
 -
 
   src/linux/fs.cpp ea0891e320154b85a21ed2d138c192821efae9cd 
 
 Diff: https://reviews.apache.org/r/36610/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Jihun Kang
 




Re: Review Request 36514: [MESOS-898] Add CMake-based build system for the process library

2015-07-20 Thread Mesos ReviewBot

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


Bad patch!

Reviews applied: [36513]

Failed command: ./support/apply-review.sh -n -r 36513

Error:
 2015-07-21 03:37:30 URL:https://reviews.apache.org/r/36513/diff/raw/ 
[5680/5680] - 36513.patch [1]
36513.patch:11: trailing whitespace.
# Licensed under the Apache License, Version 2.0 (the License); you 
36513.patch:12: trailing whitespace.
# may not use this file except in compliance with the License.  You may 
36513.patch:13: trailing whitespace.
# obtain a copy of the License at 
36513.patch:15: trailing whitespace.
#http://www.apache.org/licenses/LICENSE-2.0 
36513.patch:17: trailing whitespace.
# Unless required by applicable law or agreed to in writing, software 
warning: squelched 11 whitespace errors
warning: 16 lines add whitespace errors.
Successfully applied: [MESOS-898] Add CMake-based build system for Mesos project

This is the first of two commits that will introduce a CMake-based build
system for the Mesos project. These commits are split along the
libprocess boundary -- this first commit will provide the CMake build
logic for the core Mesos project, while the second one will introduce
the CMake build logic for the process library. They are committed
independently to provide a natural history boundary between the two
projects.

CMake provides a number of advantages over the Make-based build system
currently in place. The most obvious of these is much greater platform
independence -- CMake supports a wide variety of platforms and
environments (even Visual Studio on Windows), which opens Mesos up for
contributions from organizations with drastically different toolchains
than the current Mesos default.

The second is that this gives us an opportunity to audit the existing
build system.

The plan moving forward is to develop the CMake build system
incrementally and in paralllel to the autoconf build system.


Review: https://reviews.apache.org/r/36513
CMakeLists.txt:5: trailing whitespace.
+# Licensed under the Apache License, Version 2.0 (the License); you 
CMakeLists.txt:6: trailing whitespace.
+# may not use this file except in compliance with the License.  You may 
CMakeLists.txt:7: trailing whitespace.
+# obtain a copy of the License at 
CMakeLists.txt:9: trailing whitespace.
+#http://www.apache.org/licenses/LICENSE-2.0 
CMakeLists.txt:11: trailing whitespace.
+# Unless required by applicable law or agreed to in writing, software 
CMakeLists.txt:12: trailing whitespace.
+# distributed under the License is distributed on an AS IS BASIS, 
CMakeLists.txt:14: trailing whitespace.
+# See the License for the specific language governing permissions and 
CMakeLists.txt:15: trailing whitespace.
+# limitations under the License. 
cmake/MesosConfigure.cmake:5: trailing whitespace.
+# Licensed under the Apache License, Version 2.0 (the License); you 
cmake/MesosConfigure.cmake:6: trailing whitespace.
+# may not use this file except in compliance with the License.  You may 
cmake/MesosConfigure.cmake:7: trailing whitespace.
+# obtain a copy of the License at 
cmake/MesosConfigure.cmake:9: trailing whitespace.
+#http://www.apache.org/licenses/LICENSE-2.0 
cmake/MesosConfigure.cmake:11: trailing whitespace.
+# Unless required by applicable law or agreed to in writing, software 
cmake/MesosConfigure.cmake:12: trailing whitespace.
+# distributed under the License is distributed on an AS IS BASIS, 
cmake/MesosConfigure.cmake:14: trailing whitespace.
+# See the License for the specific language governing permissions and 
cmake/MesosConfigure.cmake:15: trailing whitespace.
+# limitations under the License. 
Failed to commit patch

- Mesos ReviewBot


On July 20, 2015, 7:33 p.m., Alex Clemmer wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36514/
 ---
 
 (Updated July 20, 2015, 7:33 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Joris Van Remoortere, and Timothy 
 St. Clair.
 
 
 Repository: mesos
 
 
 Description
 ---
 
 This commit is the second in a series of two commits that will introduce
 a CMake-based build system for Mesos. The first introduced the build
 system for the core Mesos project; this one will introduce a similar
 system for the process library.
 
 For more details see the core Mesos commit.
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/CMakeLists.txt PRE-CREATION 
   3rdparty/libprocess/CMakeLists.txt PRE-CREATION 
   3rdparty/libprocess/cmake/ProcessConfigure.cmake PRE-CREATION 
   3rdparty/libprocess/cmake/ProcessTestsConfigure.cmake PRE-CREATION 
   3rdparty/libprocess/cmake/macros/External.cmake PRE-CREATION 
   3rdparty/libprocess/cmake/macros/PatchCommand.cmake 

Re: Review Request 36629: stout: Added support for 'synchronized_wait'.

2015-07-20 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [36629]

All tests passed.

- Mesos ReviewBot


On July 21, 2015, 1:11 a.m., Michael Park wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/36629/
 ---
 
 (Updated July 21, 2015, 1:11 a.m.)
 
 
 Review request for mesos, Benjamin Hindman and Joris Van Remoortere.
 
 
 Repository: mesos
 
 
 Description
 ---
 
 See summary.
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/stout/include/stout/synchronized.hpp 
 e40ec55f7818fad8703787ecb67869c9e1922e85 
 
 Diff: https://reviews.apache.org/r/36629/diff/
 
 
 Testing
 ---
 
 `make check`
 
 
 Thanks,
 
 Michael Park