Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya

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

(Updated Sept. 22, 2014, 5:25 a.m.)


Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, and 
Timothy St. Clair.


Changes
---

Fixed compilation errors; addressed some of Nik's comments.


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


Repository: mesos-git


Description
---

Adding a first class primitive, abstraction and process for dynamic library 
writing and loading can make it easier to extend inner workings of Mesos. 
Making it possible to have dynamic loadable resource allocators, isolators, 
containerizes, authenticators and much more.


Diffs (updated)
-

  include/mesos/module.hpp PRE-CREATION 
  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/examples/test_module.hpp PRE-CREATION 
  src/examples/test_module_impl.cpp PRE-CREATION 
  src/module/manager.hpp PRE-CREATION 
  src/module/manager.cpp PRE-CREATION 
  src/slave/flags.hpp 21e00212bc402674eaea73b44b3f91df477a7213 
  src/slave/main.cpp 2c4d365a04acbcb382e978d811a318130484b3d5 
  src/tests/module_tests.cpp PRE-CREATION 

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


Testing
---

Ran make check with added tests for verifying library/module loading and simple 
version check.


Thanks,

Kapil Arya



Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya

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

(Updated Sept. 22, 2014, 5:30 a.m.)


Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, and 
Timothy St. Clair.


Changes
---

Do not tie in modules into slave in the first patch.


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


Repository: mesos-git


Description
---

Adding a first class primitive, abstraction and process for dynamic library 
writing and loading can make it easier to extend inner workings of Mesos. 
Making it possible to have dynamic loadable resource allocators, isolators, 
containerizes, authenticators and much more.


Diffs (updated)
-

  include/mesos/module.hpp PRE-CREATION 
  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/examples/test_module.hpp PRE-CREATION 
  src/examples/test_module_impl.cpp PRE-CREATION 
  src/module/manager.hpp PRE-CREATION 
  src/module/manager.cpp PRE-CREATION 
  src/tests/module_tests.cpp PRE-CREATION 

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


Testing
---

Ran make check with added tests for verifying library/module loading and simple 
version check.


Thanks,

Kapil Arya



Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/module/manager.hpp, line 88
  https://reviews.apache.org/r/25848/diff/1/?file=697028#file697028line88
 
  Can we find some ABI documentation that supports this claim and maybe 
  throw in a reference?

Added a TODO for now.


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/module/manager.hpp, lines 117-118
  https://reviews.apache.org/r/25848/diff/1/?file=697028#file697028line117
 
  Access to those need to be guarded, right? Or do you explicitally call 
  out that the module manager isn't thread safe?

Added a TODO for now.


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/slave/flags.hpp, line 328
  https://reviews.apache.org/r/25848/diff/1/?file=697030#file697030line328
 
  Let's tie the modules in after the core patch has landed. Also, we need 
  to it for both masters and slaves (alongside starting to wire up module 
  loading for isolators, authenticators, ...)
  
  TL;DR Let's review the src/slave/flags.hpp and src/slave/main.cpp 
  changes (with a master equivalent) in a dependent patch.
  
  In the new review, please expand the help text and throw in some 
  examples. You can put in the expected format as you listed in the module 
  manager header.

Removed this code for now.  Will create a separate patch and address these 
concerns there.


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/tests/module_tests.cpp, line 123
  https://reviews.apache.org/r/25848/diff/1/?file=697033#file697033line123
 
  Where are we going to capture the negative tests? Wrong library 
  versions, trying to load non-mesos modules libraries (libc.so for example)?

Added a TODO for now.


- Kapil


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


On Sept. 22, 2014, 5:30 a.m., Kapil Arya wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25848/
 ---
 
 (Updated Sept. 22, 2014, 5:30 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, 
 and Timothy St. Clair.
 
 
 Bugs: MESOS-1384
 https://issues.apache.org/jira/browse/MESOS-1384
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Adding a first class primitive, abstraction and process for dynamic library 
 writing and loading can make it easier to extend inner workings of Mesos. 
 Making it possible to have dynamic loadable resource allocators, isolators, 
 containerizes, authenticators and much more.
 
 
 Diffs
 -
 
   include/mesos/module.hpp PRE-CREATION 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/examples/test_module.hpp PRE-CREATION 
   src/examples/test_module_impl.cpp PRE-CREATION 
   src/module/manager.hpp PRE-CREATION 
   src/module/manager.cpp PRE-CREATION 
   src/tests/module_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25848/diff/
 
 
 Testing
 ---
 
 Ran make check with added tests for verifying library/module loading and 
 simple version check.
 
 
 Thanks,
 
 Kapil Arya
 




Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Mesos ReviewBot

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


Bad patch!

Reviews applied: [25848]

Failed command: ./support/mesos-style.py

Error:
 Checking 513 files using filter 
--filter=-,+build/class,+build/deprecated,+build/endif_comment,+readability/todo,+readability/namespace,+runtime/vlog,+whitespace/blank_line,+whitespace/comma,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/tab,+whitespace/todo
src/module/manager.hpp:85:  Redundant blank line at the end of a code block 
should be deleted.  [whitespace/blank_line] [3]
Total errors found: 1

- Mesos ReviewBot


On Sept. 22, 2014, 9:30 a.m., Kapil Arya wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25848/
 ---
 
 (Updated Sept. 22, 2014, 9:30 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, 
 and Timothy St. Clair.
 
 
 Bugs: MESOS-1384
 https://issues.apache.org/jira/browse/MESOS-1384
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Adding a first class primitive, abstraction and process for dynamic library 
 writing and loading can make it easier to extend inner workings of Mesos. 
 Making it possible to have dynamic loadable resource allocators, isolators, 
 containerizes, authenticators and much more.
 
 
 Diffs
 -
 
   include/mesos/module.hpp PRE-CREATION 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/examples/test_module.hpp PRE-CREATION 
   src/examples/test_module_impl.cpp PRE-CREATION 
   src/module/manager.hpp PRE-CREATION 
   src/module/manager.cpp PRE-CREATION 
   src/tests/module_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25848/diff/
 
 
 Testing
 ---
 
 Ran make check with added tests for verifying library/module loading and 
 simple version check.
 
 
 Thanks,
 
 Kapil Arya
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Alexander Rukletsov

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

(Updated Sept. 22, 2014, 1:10 p.m.)


Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and Till 
Toenshoff.


Changes
---

Add auto usage examples; rebase.


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


Repository: mesos-git


Description (updated)
---

Explicitly prohibit the use of namespace aliases. The discussion about using 
namespace aliases took place in [the other 
review](https://reviews.apache.org/r/25434/#comment91754). The majority agreed 
not to introduce them in code.

Give examples of preferable way of using auto.


Diffs (updated)
-

  docs/mesos-c++-style-guide.md 59a39df 

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


Testing
---

Documentation change, no `make check` needed.


Thanks,

Alexander Rukletsov



Re: Review Request 25434: Propagate slave shutdown grace period to Executor and CommandExecutor.

2014-09-22 Thread Alexander Rukletsov


 On Sept. 11, 2014, 3:45 p.m., Timothy St. Clair wrote:
  src/exec/exec.cpp, line 82
  https://reviews.apache.org/r/25434/diff/2/?file=683945#file683945line82
 
  Maybe I'm missing something, but is there a reason we don't check 
  before a delay?  If ShutdownProcess is spawned, it's possible all other 
  processes in the group have already cleaned up.
 
 Alexander Rukletsov wrote:
 Good questions. Can this be related to non-native bindings?
 
 Timothy St. Clair wrote:
 Perhaps we can open a separate JIRA on this issue as it was here before.

https://issues.apache.org/jira/browse/MESOS-1823


- Alexander


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


On Sept. 18, 2014, 11:03 a.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25434/
 ---
 
 (Updated Sept. 18, 2014, 11:03 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Niklas Nielsen, Till Toenshoff, 
 and Timothy St. Clair.
 
 
 Bugs: MESOS-1571
 https://issues.apache.org/jira/browse/MESOS-1571
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 The configurable slave's executor_shutdown_grace_period flag is propagated to 
 Executor and CommandExecutor through an environment variable. Shutdown 
 timeout in Executor and signal escalation timeout in CommandExecutor are now 
 dependent on this flag. Each nested timeout is somewhat shorter than the 
 parent one.
 
 
 Diffs
 -
 
   src/Makefile.am 9b973e5 
   src/exec/exec.cpp e15f834 
   src/launcher/executor.cpp cbc8750 
   src/slave/constants.hpp 9030871 
   src/slave/constants.cpp e1da5c0 
   src/slave/containerizer/containerizer.hpp 8a66412 
   src/slave/containerizer/containerizer.cpp 0254679 
   src/slave/containerizer/docker.cpp 0febbac 
   src/slave/containerizer/external_containerizer.cpp efbc68f 
   src/slave/containerizer/mesos/containerizer.cpp 9d08329 
   src/slave/flags.hpp 21e0021 
   src/slave/utils.hpp PRE-CREATION 
   src/slave/utils.cpp PRE-CREATION 
   src/tests/containerizer.cpp a17e1e0 
 
 Diff: https://reviews.apache.org/r/25434/diff/
 
 
 Testing
 ---
 
 make check (OS X 10.9.4)
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [25622]

All tests passed.

- Mesos ReviewBot


On Sept. 22, 2014, 1:10 p.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 1:10 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Mesos Modules Design

2014-09-22 Thread Tim St Clair
Folks, 

I think this thread has fallen off the rails a bit, perhaps we could get a 
tcon/hangout going for this again.  

I would be happy to moderate if needed, but it's pretty clear to me to that 
trying to hash this out in an email thread is becoming couter-productive.

Cheers,
Tim

- Original Message -
 From: Dominic Hamon dha...@twitter.com.INVALID
 To: dev dev@mesos.apache.org
 Sent: Saturday, September 20, 2014 9:21:59 AM
 Subject: Re: Mesos Modules Design
 
 On Fri, Sep 19, 2014 at 2:43 PM, Niklas Nielsen nik...@mesosphere.io
 wrote:
 
  Hi Dominic,
 
  (response inlined)
 
  On 19 September 2014 13:03, Dominic Hamon dha...@twopensource.com wrote:
 
   I'm sorry, but I'm still having a hard time understanding why this needs
  to
   be dynamic.
  
   If the mesos core is split into modules that are built as standalone
   libraries (static) then at link time the right combination of libraries
  can
   be bundled together to create the end result. If you want to get even
   smarter, we can have default versions that are linked in to the mesos
  core
   as weak symbols so later linked libraries can override the defaults. This
   may mean that we move to static linking across the board, but frankly
  there
   are a few benefits to that approach.
 
 
  This works for some, but not all use cases.
  One use-case where it _does_ make sense to statically bake into the image
  could be: https://issues.apache.org/jira/browse/MESOS-1330
  That be, you probably rarely want to swap network transport implementations
  in and out on per-run basis but will know up front which one to configure
  and use.
 
  On the other hand, having to relink and rebuilding give users a poor
  experience and makes it hard to select (or unselect) custom components.
  Using a prebuilt package and point against libraries is a pretty common
  work-flow: Apache web server relies heavily on modules from dynamic
  libraries.
 
 
 ​I'm going to argue against this, so please bear with me while I work
 through it, and please point out anywhere that my assertions are wrong.
 
 The proposal you are suggesting requires the following:
 
 - callsites need to be modules aware to use the right factory method to
 instantiate the modular object
 - mesos-core owners need to be aware of modules and versioning when they
 change the abstract API
 - module owners need to be aware of the modules API and versioning
 - customers (end-users) have to be modules aware and set their runtime
 configuration correctly
 - errors in versioning or modules will only be caught at runtime
 
 My alternative proposal requires the following:
 
 -  module owners need to be aware of API changes during core upgrades
 - issues are caught at compile time by module owners
 - customers (end-users) are unaware of modules and only need to know about
 per module configuration (kerberos attributes, for instance) not the
 modules system and configuration
 
 In short, your proposal adds more complexity and shifts the burden of
 knowledge and responsibility to every agent, instead of keeping it with the
 module owner where it belongs.
 
 I think the solution that's been put up for review is clever, but I don't
 think it solves the problem in the right way for anyone involved. Please
 rethink your approach to take that into account.
 
 
 
  TL;DR I don't see the two approaches to be mutually exclusive and we can
  get a lot of leverage with the current design but we want to be able to do
  this with static linking too. (To Tim St Clair's point)
 
 
  
 
 
 
   With the approach as defined, does this mean that the default versions
  will
   also have to be reimplemented as modules?
  
 
  Not necessary. Mesos default implementations stays as is. See Bernd's
  comment.
 
 
  
   Has any effort been put into determining the performance overhead of the
   approach as specified?
  
 
  It won't affect Mesos if you are not using modules. The call sites will be
  virtual dispatches no matter whether you are using modules or
  internal/default implementations.
  There is a performance penalty of not being able to do global optimizations
  within the module, but that is the trade-off of implementing a dynamic
  loadable module.
 
 
  
   On Fri, Sep 19, 2014 at 11:35 AM, Niklas Nielsen nik...@mesosphere.io
   wrote:
  
Hi everyone,
   
We have been iterating on a design for pluggable modules in Mesos
  lately
and wanted to get a last round of feedback before putting out patch
  sets.
   
Tim St Clair, Ben Hindman and I started the discussion (and work) on
  this
subsystem https://issues.apache.org/jira/browse/MESOS-1224 and
https://issues.apache.org/jira/browse/MESOS-1384.
Kapil and Bernd took over the work (shepherded by Ben H and I) and have
expanded on the original design to cope with api/modules/mesos
  versioning
semantics and be extensible enough to cope future changes in the
  modules
subsystem (dealing with modules dependencies, etc).
   
   

Auto usage in mesos

2014-09-22 Thread Alex Rukletsov
We now start using auto in the code (among several other C++11 features).
However we don't want to hamper reasoning about types. I would suggest we
select several use cases where we all agree using auto is welcomed and
several counterexamples. After the short conversation with BenH, we agreed
that iterators on one side and Try, Option on the other side are first
candidates for such list. I put the examples here
https://reviews.apache.org/r/25622/.

Any thoughts and ideas?


Re: Mesos Modules Design

2014-09-22 Thread Niklas Nielsen
Agreed - I can do early morning PST any day during this week (for people
dialing in from the east coast and Europe).

Niklas

On 22 September 2014 07:15, Tim St Clair tstcl...@redhat.com wrote:

 Folks,

 I think this thread has fallen off the rails a bit, perhaps we could get a
 tcon/hangout going for this again.

 I would be happy to moderate if needed, but it's pretty clear to me to
 that trying to hash this out in an email thread is becoming
 couter-productive.

 Cheers,
 Tim

 - Original Message -
  From: Dominic Hamon dha...@twitter.com.INVALID
  To: dev dev@mesos.apache.org
  Sent: Saturday, September 20, 2014 9:21:59 AM
  Subject: Re: Mesos Modules Design
 
  On Fri, Sep 19, 2014 at 2:43 PM, Niklas Nielsen nik...@mesosphere.io
  wrote:
 
   Hi Dominic,
  
   (response inlined)
  
   On 19 September 2014 13:03, Dominic Hamon dha...@twopensource.com
 wrote:
  
I'm sorry, but I'm still having a hard time understanding why this
 needs
   to
be dynamic.
   
If the mesos core is split into modules that are built as standalone
libraries (static) then at link time the right combination of
 libraries
   can
be bundled together to create the end result. If you want to get even
smarter, we can have default versions that are linked in to the mesos
   core
as weak symbols so later linked libraries can override the defaults.
 This
may mean that we move to static linking across the board, but frankly
   there
are a few benefits to that approach.
  
  
   This works for some, but not all use cases.
   One use-case where it _does_ make sense to statically bake into the
 image
   could be: https://issues.apache.org/jira/browse/MESOS-1330
   That be, you probably rarely want to swap network transport
 implementations
   in and out on per-run basis but will know up front which one to
 configure
   and use.
  
   On the other hand, having to relink and rebuilding give users a poor
   experience and makes it hard to select (or unselect) custom components.
   Using a prebuilt package and point against libraries is a pretty common
   work-flow: Apache web server relies heavily on modules from dynamic
   libraries.
  
  
  ​I'm going to argue against this, so please bear with me while I work
  through it, and please point out anywhere that my assertions are wrong.
 
  The proposal you are suggesting requires the following:
 
  - callsites need to be modules aware to use the right factory method to
  instantiate the modular object
  - mesos-core owners need to be aware of modules and versioning when they
  change the abstract API
  - module owners need to be aware of the modules API and versioning
  - customers (end-users) have to be modules aware and set their runtime
  configuration correctly
  - errors in versioning or modules will only be caught at runtime
 
  My alternative proposal requires the following:
 
  -  module owners need to be aware of API changes during core upgrades
  - issues are caught at compile time by module owners
  - customers (end-users) are unaware of modules and only need to know
 about
  per module configuration (kerberos attributes, for instance) not the
  modules system and configuration
 
  In short, your proposal adds more complexity and shifts the burden of
  knowledge and responsibility to every agent, instead of keeping it with
 the
  module owner where it belongs.
 
  I think the solution that's been put up for review is clever, but I don't
  think it solves the problem in the right way for anyone involved. Please
  rethink your approach to take that into account.
 
 
 
   TL;DR I don't see the two approaches to be mutually exclusive and we
 can
   get a lot of leverage with the current design but we want to be able
 to do
   this with static linking too. (To Tim St Clair's point)
  
  
   
  
  
  
With the approach as defined, does this mean that the default
 versions
   will
also have to be reimplemented as modules?
   
  
   Not necessary. Mesos default implementations stays as is. See Bernd's
   comment.
  
  
   
Has any effort been put into determining the performance overhead of
 the
approach as specified?
   
  
   It won't affect Mesos if you are not using modules. The call sites
 will be
   virtual dispatches no matter whether you are using modules or
   internal/default implementations.
   There is a performance penalty of not being able to do global
 optimizations
   within the module, but that is the trade-off of implementing a dynamic
   loadable module.
  
  
   
On Fri, Sep 19, 2014 at 11:35 AM, Niklas Nielsen 
 nik...@mesosphere.io
wrote:
   
 Hi everyone,

 We have been iterating on a design for pluggable modules in Mesos
   lately
 and wanted to get a last round of feedback before putting out patch
   sets.

 Tim St Clair, Ben Hindman and I started the discussion (and work)
 on
   this
 subsystem https://issues.apache.org/jira/browse/MESOS-1224 and
 

Re: Review Request 25250: Mark running tasks killed during framework shutdown.

2014-09-22 Thread Alexander Rukletsov

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

(Updated Sept. 22, 2014, 4:25 p.m.)


Review request for mesos, Benjamin Hindman and Till Toenshoff.


Changes
---

Explain why we prefer TASK_KILLED and not sending the update.


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


Repository: mesos-git


Description
---

When a framework is shut down e.g. by calling driver.stop() from the scheduler, 
running tasks are marked KILLED before migrating them to completed.


Diffs (updated)
-

  src/master/master.cpp e5d30e9 
  src/tests/master_tests.cpp 8e4ec1d 

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


Testing
---

make check (OS X)


Thanks,

Alexander Rukletsov



Re: Review Request 25250: Mark running tasks killed during framework shutdown.

2014-09-22 Thread Alexander Rukletsov


 On Sept. 15, 2014, 4:38 p.m., Benjamin Hindman wrote:
  src/master/master.cpp, line 4010
  https://reviews.apache.org/r/25250/diff/4/?file=682254#file682254line4010
 
  I suggest we use TASK_LOST here instead. We definitely want a terminal 
  state like TASK_KILLED, but we've reserved TASK_KILLED for when a framework 
  has actually intiated the kill itself, and thus I'd prefer not to overload 
  the semantics. This might be a good candidate for a new task state, e.g., 
  TASK_REMOVED, which has been discussed in the past, but I can't recall if 
  there is a JIRA for that or not. If not, it would be great to have you 
  create one Alex so we can have a discussion about how to introduce new task 
  states (and maybe even a way to introduce sub-states that framework writers 
  themselves could customize).
 
 Alexander Rukletsov wrote:
 I used to have `TASK_LOST` here, but my understanding is that `TASK_LOST` 
 is used for abnormal situations, i.e. when the task is not finished not 
 because of scheduler's direct command, but because of some external reasons. 
 I agree, that a new task state is a very good solution. We have [this 
 ticket](https://issues.apache.org/jira/browse/MESOS-343), one solution for 
 which would be to introduce something like `TaskStatusExplained` or a 
 protobuf message for every task. But maybe for this situation something like 
 `TASK_ABANDONED` would be rather descriptive.

Keeping TASK_KILLED, but added comments for clarity.


- Alexander


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


On Sept. 22, 2014, 4:25 p.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25250/
 ---
 
 (Updated Sept. 22, 2014, 4:25 p.m.)
 
 
 Review request for mesos, Benjamin Hindman and Till Toenshoff.
 
 
 Bugs: MESOS-1736
 https://issues.apache.org/jira/browse/MESOS-1736
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 When a framework is shut down e.g. by calling driver.stop() from the 
 scheduler, running tasks are marked KILLED before migrating them to completed.
 
 
 Diffs
 -
 
   src/master/master.cpp e5d30e9 
   src/tests/master_tests.cpp 8e4ec1d 
 
 Diff: https://reviews.apache.org/r/25250/diff/
 
 
 Testing
 ---
 
 make check (OS X)
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Timothy St. Clair

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


Thanks Jie! 1st pass testing worked, but I need to beat on it some more. 

Normally I would say we should probably separate out the cleanup work from the 
feature mod, but it's not that important to me.


src/linux/cgroups.cpp
https://reviews.apache.org/r/25858/#comment94124

I think I've missed something subtle, how did you bypass the cleanup 
semantics?



src/slave/containerizer/isolators/cgroups/cpushare.cpp
https://reviews.apache.org/r/25858/#comment94126





src/slave/containerizer/isolators/cgroups/cpushare.cpp
https://reviews.apache.org/r/25858/#comment94127

So does this rely on realpath squashing the symbolic link such that they 
are = ?


- Timothy St. Clair


On Sept. 20, 2014, 12:21 a.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 20, 2014, 12:21 a.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Jie Yu


 On Sept. 22, 2014, 4:31 p.m., Timothy St. Clair wrote:
  src/linux/cgroups.cpp, line 1795
  https://reviews.apache.org/r/25858/diff/1/?file=698357#file698357line1795
 
  I think I've missed something subtle, how did you bypass the cleanup 
  semantics?

The isolators won't try to unmount and rm the hierarchies (i.e., it won't call 
cgroups::cleanup).

The only place we call cgroups::cleanup is in tests, I will do a sweep today to 
make sure we don't accidentally umount systemd managed hierarchies.


 On Sept. 22, 2014, 4:31 p.m., Timothy St. Clair wrote:
  src/slave/containerizer/isolators/cgroups/cpushare.cpp, line 112
  https://reviews.apache.org/r/25858/diff/1/?file=698359#file698359line112
 
  So does this rely on realpath squashing the symbolic link such that 
  they are = ?

In fact, we obtain the hierarchy from /proc/mounts. Yes, we also call realpath. 
So I think this part is safe.


- Jie


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


On Sept. 20, 2014, 12:21 a.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 20, 2014, 12:21 a.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Jie Yu


 On Sept. 22, 2014, 4:31 p.m., Timothy St. Clair wrote:
  Thanks Jie! 1st pass testing worked, but I need to beat on it some more. 
  
  Normally I would say we should probably separate out the cleanup work from 
  the feature mod, but it's not that important to me.

Sorry about that. I should have separated this patch:)


- Jie


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


On Sept. 20, 2014, 12:21 a.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 20, 2014, 12:21 a.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Auto usage in mesos

2014-09-22 Thread Dominic Hamon
For reference:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#auto

We should be able to adopt that wholesale but please document anywhere you
think we would diverge from those examples.

On Mon, Sep 22, 2014 at 7:28 AM, Alex Rukletsov a...@mesosphere.io wrote:

 We now start using auto in the code (among several other C++11 features).
 However we don't want to hamper reasoning about types. I would suggest we
 select several use cases where we all agree using auto is welcomed and
 several counterexamples. After the short conversation with BenH, we agreed
 that iterators on one side and Try, Option on the other side are first
 candidates for such list. I put the examples here
 https://reviews.apache.org/r/25622/.

 Any thoughts and ideas?




-- 
Dominic Hamon | @mrdo | Twitter
*There are no bad ideas; only good ideas that go horribly wrong.*


Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Niklas Nielsen


 On Sept. 20, 2014, 12:22 p.m., Ben Mahler wrote:
  Thanks Joris!
  
  Any reason you want this exposed in the public include/ folder of 
  libprocess, as opposed to an internal header inside src/? Don't think we'd 
  want this in the public includes.

It seems to be a bit unconsistent whether things have gone in include/ or not. 
For example, the socket abstraction is only used by libprocess internally and 
is in include/.
The node class ended up there too (my / our fault) - so if we decide to move 
the private headers to src/, we need to move that alongside doing a scan for 
the headers we only use inside libprocess.


- Niklas


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


On Sept. 19, 2014, 5:58 p.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25868/
 ---
 
 (Updated Sept. 19, 2014, 5:58 p.m.)
 
 
 Review request for mesos and Niklas Nielsen.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Move class ProcessReference out of process.cpp and into its own header.
 Part of refactoring process.cpp.
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/Makefile.am 542ae1c 
   3rdparty/libprocess/include/process/process_reference.hpp PRE-CREATION 
   3rdparty/libprocess/src/process.cpp 8adc809 
 
 Diff: https://reviews.apache.org/r/25868/diff/
 
 
 Testing
 ---
 
 make check in 3rdparty/libprocess
 support/mesos-style.py
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Dominic Hamon

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



docs/mesos-c++-style-guide.md
https://reviews.apache.org/r/25622/#comment94131

you may need to rebase this .. i added this list and included variadic 
templates.


- Dominic Hamon


On Sept. 22, 2014, 6:10 a.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 6:10 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Mesos Modules Design

2014-09-22 Thread Bernd Mathiske
+1.

On Sep 22, 2014, at 5:22 PM, Niklas Nielsen nik...@mesosphere.io wrote:

 Agreed - I can do early morning PST any day during this week (for people
 dialing in from the east coast and Europe).
 
 Niklas
 
 On 22 September 2014 07:15, Tim St Clair tstcl...@redhat.com wrote:
 
 Folks,
 
 I think this thread has fallen off the rails a bit, perhaps we could get a
 tcon/hangout going for this again.
 
 I would be happy to moderate if needed, but it's pretty clear to me to
 that trying to hash this out in an email thread is becoming
 couter-productive.
 
 Cheers,
 Tim
 
 - Original Message -
 From: Dominic Hamon dha...@twitter.com.INVALID
 To: dev dev@mesos.apache.org
 Sent: Saturday, September 20, 2014 9:21:59 AM
 Subject: Re: Mesos Modules Design
 
 On Fri, Sep 19, 2014 at 2:43 PM, Niklas Nielsen nik...@mesosphere.io
 wrote:
 
 Hi Dominic,
 
 (response inlined)
 
 On 19 September 2014 13:03, Dominic Hamon dha...@twopensource.com
 wrote:
 
 I'm sorry, but I'm still having a hard time understanding why this
 needs
 to
 be dynamic.
 
 If the mesos core is split into modules that are built as standalone
 libraries (static) then at link time the right combination of
 libraries
 can
 be bundled together to create the end result. If you want to get even
 smarter, we can have default versions that are linked in to the mesos
 core
 as weak symbols so later linked libraries can override the defaults.
 This
 may mean that we move to static linking across the board, but frankly
 there
 are a few benefits to that approach.
 
 
 This works for some, but not all use cases.
 One use-case where it _does_ make sense to statically bake into the
 image
 could be: https://issues.apache.org/jira/browse/MESOS-1330
 That be, you probably rarely want to swap network transport
 implementations
 in and out on per-run basis but will know up front which one to
 configure
 and use.
 
 On the other hand, having to relink and rebuilding give users a poor
 experience and makes it hard to select (or unselect) custom components.
 Using a prebuilt package and point against libraries is a pretty common
 work-flow: Apache web server relies heavily on modules from dynamic
 libraries.
 
 
 ​I'm going to argue against this, so please bear with me while I work
 through it, and please point out anywhere that my assertions are wrong.
 
 The proposal you are suggesting requires the following:
 
 - callsites need to be modules aware to use the right factory method to
 instantiate the modular object
 - mesos-core owners need to be aware of modules and versioning when they
 change the abstract API
 - module owners need to be aware of the modules API and versioning
 - customers (end-users) have to be modules aware and set their runtime
 configuration correctly
 - errors in versioning or modules will only be caught at runtime
 
 My alternative proposal requires the following:
 
 -  module owners need to be aware of API changes during core upgrades
 - issues are caught at compile time by module owners
 - customers (end-users) are unaware of modules and only need to know
 about
 per module configuration (kerberos attributes, for instance) not the
 modules system and configuration
 
 In short, your proposal adds more complexity and shifts the burden of
 knowledge and responsibility to every agent, instead of keeping it with
 the
 module owner where it belongs.
 
 I think the solution that's been put up for review is clever, but I don't
 think it solves the problem in the right way for anyone involved. Please
 rethink your approach to take that into account.
 
 
 
 TL;DR I don't see the two approaches to be mutually exclusive and we
 can
 get a lot of leverage with the current design but we want to be able
 to do
 this with static linking too. (To Tim St Clair's point)
 
 
 
 
 
 
 With the approach as defined, does this mean that the default
 versions
 will
 also have to be reimplemented as modules?
 
 
 Not necessary. Mesos default implementations stays as is. See Bernd's
 comment.
 
 
 
 Has any effort been put into determining the performance overhead of
 the
 approach as specified?
 
 
 It won't affect Mesos if you are not using modules. The call sites
 will be
 virtual dispatches no matter whether you are using modules or
 internal/default implementations.
 There is a performance penalty of not being able to do global
 optimizations
 within the module, but that is the trade-off of implementing a dynamic
 loadable module.
 
 
 
 On Fri, Sep 19, 2014 at 11:35 AM, Niklas Nielsen 
 nik...@mesosphere.io
 wrote:
 
 Hi everyone,
 
 We have been iterating on a design for pluggable modules in Mesos
 lately
 and wanted to get a last round of feedback before putting out patch
 sets.
 
 Tim St Clair, Ben Hindman and I started the discussion (and work)
 on
 this
 subsystem https://issues.apache.org/jira/browse/MESOS-1224 and
 https://issues.apache.org/jira/browse/MESOS-1384.
 Kapil and Bernd took over the work (shepherded by Ben H and I) and
 have
 expanded 

Re: Review Request 25789: Variadic strings join

2014-09-22 Thread Joris Van Remoortere

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

(Updated Sept. 22, 2014, 5:30 p.m.)


Review request for mesos and Benjamin Hindman.


Changes
---

Remove the for c++11 and above comments since variadic templates are now part 
of the configuration check.


Summary (updated)
-

Variadic strings join


Repository: mesos-git


Description (updated)
---

Add Variadic strings join.
There is a second version of the variadic join which takes a reference to a 
stringstream as a parameter. This is handy when strings::join is just a part of 
a larger string manipulation.


Diffs
-

  3rdparty/libprocess/3rdparty/stout/include/stout/strings.hpp a1702cd 
  3rdparty/libprocess/3rdparty/stout/tests/strings_tests.cpp 51008e5 

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


Testing
---

Ran make check for stout. Added test cases for join as these were missing.


Thanks,

Joris Van Remoortere



Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Ian Downes

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

Ship it!



src/linux/cgroups.cpp
https://reviews.apache.org/r/25858/#comment94132

Not your code, but it's a little silly to do this every time...



src/slave/containerizer/isolators/cgroups/cpushare.hpp
https://reviews.apache.org/r/25858/#comment94137

I don't think it's exclusively systems using systemd. What about, (e.g., 
systems using systemd) ?



src/slave/containerizer/isolators/cgroups/cpushare.cpp
https://reviews.apache.org/r/25858/#comment94138

So cgroups::destroy gets called with col-located hierarchies? Do we not 
need to leave this to systemd to clean up?



src/slave/slave.cpp
https://reviews.apache.org/r/25858/#comment94133

keep the NOTE on a new line?


- Ian Downes


On Sept. 19, 2014, 5:21 p.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 19, 2014, 5:21 p.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Joris Van Remoortere


 On Sept. 20, 2014, 7:22 p.m., Ben Mahler wrote:
  Thanks Joris!
  
  Any reason you want this exposed in the public include/ folder of 
  libprocess, as opposed to an internal header inside src/? Don't think we'd 
  want this in the public includes.
 
 Niklas Nielsen wrote:
 It seems to be a bit unconsistent whether things have gone in include/ or 
 not. For example, the socket abstraction is only used by libprocess 
 internally and is in include/.
 The node class ended up there too (my / our fault) - so if we decide to 
 move the private headers to src/, we need to move that alongside doing a scan 
 for the headers we only use inside libprocess.

Hi Ben,
I am refactoring certain classes from process.cpp into the include directory 
because my goal is to allow pluggable implementations (modules) of the 
event-management abstraction. My thought process is that we should have the 
classes required to implement this abstraction available in the public include 
dir. Since this is an open source project, it's not impossible for us to have 
some of these class declarations / definitions in the src directory, and the 
module implementer to be required to build it with the src tree pulled.
I am in the process of making a branch available as a prototype for MESOS-1330; 
which will make it more apparent where I am going.
What are your thoughts on the rules behind the public include dir, and what 
requirements we can impose on module implementers?


- Joris


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


On Sept. 20, 2014, 12:58 a.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25868/
 ---
 
 (Updated Sept. 20, 2014, 12:58 a.m.)
 
 
 Review request for mesos and Niklas Nielsen.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Move class ProcessReference out of process.cpp and into its own header.
 Part of refactoring process.cpp.
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/Makefile.am 542ae1c 
   3rdparty/libprocess/include/process/process_reference.hpp PRE-CREATION 
   3rdparty/libprocess/src/process.cpp 8adc809 
 
 Diff: https://reviews.apache.org/r/25868/diff/
 
 
 Testing
 ---
 
 make check in 3rdparty/libprocess
 support/mesos-style.py
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Auto usage in mesos

2014-09-22 Thread Cody Maloney
There are some cases where using auto for function return type deduction is
necessary to be able to state what you want generically in templates, and I
think we should allow that use case. I can ping some friends for good
examples if people would like. Definitely general use of return type
deduction shouldn't happen, but inside templates a lot of the time the code
is a lot simpler, more readable, and easier to maintain when using auto
(Esp. c++14 return type deduction auto), than if a type has to be
hand-deduced.

Also note at times we just can't say what the type is, because it varies in
the template instantiation. See my use in
https://reviews.apache.org/r/25525/diff/,  slaveinfo_utils.cpp where
writing explicit types for memberFunc is really hard if not impossible.

On Mon, Sep 22, 2014 at 9:57 AM, Dominic Hamon dha...@twopensource.com
wrote:

 For reference:
 http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#auto

 We should be able to adopt that wholesale but please document anywhere you
 think we would diverge from those examples.

 On Mon, Sep 22, 2014 at 7:28 AM, Alex Rukletsov a...@mesosphere.io
 wrote:

  We now start using auto in the code (among several other C++11 features).
  However we don't want to hamper reasoning about types. I would suggest we
  select several use cases where we all agree using auto is welcomed and
  several counterexamples. After the short conversation with BenH, we
 agreed
  that iterators on one side and Try, Option on the other side are
 first
  candidates for such list. I put the examples here
  https://reviews.apache.org/r/25622/.
 
  Any thoughts and ideas?
 



 --
 Dominic Hamon | @mrdo | Twitter
 *There are no bad ideas; only good ideas that go horribly wrong.*



Twitter sprint Q3.6

2014-09-22 Thread Dominic Hamon
Hello

Here's our focus for the next two weeks. Some of these we are shepherding,
but are high enough profile that we want to track them.

Link to active sprint
https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=35

Task reconciliation:
  - Removing out-of-order updates
Isolation:
  - /tmp isolation
  - PID namespaces
  - Expose RTT in container stats
Persistence:
  - Responding to design comments
Reliability:
  - Handling temporary one-way network splits
  - Access to stats.json after framework stops
  - Allow slave reconfiguration on restart


On Tue, Sep 9, 2014 at 10:16 AM, Dominic Hamon dha...@twopensource.com
wrote:

 Hello Mesos developers!

 I thought it might be useful to have a little insight into how we work on
 Mesos at Twitter and, more specifically, what we are working on. We work in
 biweekly sprints and starting with this one (that just began yesterday) I'm
 going to start sending out a summary of what we're planning.

 I hope you find it useful; feedback is encouraged.

 Link to active sprint
 https://issues.apache.org/jira/secure/RapidBoard.jspa?rapidView=35

 Task reconciliation:
   - extending master state to include terminal unacknowledged tasks
   - adding pending tasks to slave endpoints
   - send pending tasks during reregistration of slave with master
 Isolation:
   - replacing freezer with PID namespaces to avoid lost tasks during
 container destruction
   - /tmp isolation
 Reliability:
   - handling race between znode removal and state read
   - allowing increase in available resources without requiring slave drain

 - dominic




-- 
Dominic Hamon | @mrdo | Twitter
*There are no bad ideas; only good ideas that go horribly wrong.*


Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Jie Yu


 On Sept. 22, 2014, 5:33 p.m., Ian Downes wrote:
  src/linux/cgroups.cpp, line 517
  https://reviews.apache.org/r/25858/diff/1/?file=698357#file698357line517
 
  Not your code, but it's a little silly to do this every time...

Added a TODO.


- Jie


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


On Sept. 20, 2014, 12:21 a.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 20, 2014, 12:21 a.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Review Request 25861: Serialize isolator prepare and cleanup (reversed).

2014-09-22 Thread Ian Downes

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

Review request for mesos, Jie Yu and Vinod Kone.


Repository: mesos-git


Description
---

Change from doing in parallel and collect()ing to serial according to the 
vector of isolators (reversed order for cleanup).


Diffs
-

  src/slave/containerizer/mesos/containerizer.hpp 
bf246ca649ca4a461cebf1aee6908a2d58eec362 
  src/slave/containerizer/mesos/containerizer.cpp 
9d083294caa5c5a47ba3ceaa1b57346144cb795c 

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


Testing
---

make check


Thanks,

Ian Downes



Review Request 25863: Rename stout/os/setns.hpp to namespaces.hpp.

2014-09-22 Thread Ian Downes

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

Review request for mesos, Jie Yu and Vinod Kone.


Repository: mesos-git


Description
---

Also, added os::getns(pid, ns) to get the namespace inode for comparisons 
between pids' namespaces.


Diffs
-

  3rdparty/libprocess/3rdparty/Makefile.am 
db9766d70adb9076946cd2b467c55636fe5f7235 
  3rdparty/libprocess/3rdparty/stout/Makefile.am 
b6464de53c3873ecd0b62a08ca9aac530043ffb9 
  3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
6fa5b741bdd7f089ba93bf6fea43b9f39f8f0edb 
  3rdparty/libprocess/3rdparty/stout/include/stout/os/setns.hpp 
5278996f201a4a3d69282c1bd7b0d230d0f6cd39 
  3rdparty/libprocess/3rdparty/stout/tests/os/namespaces_tests.cpp PRE-CREATION 
  3rdparty/libprocess/3rdparty/stout/tests/os/setns_tests.cpp 
ad8e37aa2f5a29f8b421dde6b7cd5dfe241eabb5 
  src/slave/containerizer/isolators/network/port_mapping.cpp 
9248460caa558e43a2a7d237f6a37d43f0eeacb5 

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


Testing
---

Added test to check a clone(NEW_PIDNS) results in a new pid namespace.


Thanks,

Ian Downes



Review Request 25864: Add 'FutureNothing cgroups::empty()'.

2014-09-22 Thread Ian Downes

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

Review request for mesos, Jie Yu and Vinod Kone.


Repository: mesos-git


Description
---

Polls cgroups.procs until no processes in the cgroup. Poll interval and timeout 
can be specified.


Diffs
-

  src/linux/cgroups.hpp abf31df1b4dbf6f715f93256b83c9996a45099cf 
  src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 

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


Testing
---


Thanks,

Ian Downes



Review Request 25862: Improve shared filesystem isolator.

2014-09-22 Thread Ian Downes

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

Review request for mesos and Vinod Kone.


Repository: mesos-git


Description
---

* Ensure SharedFilesystemIsolator is the first isolator in prepare (and last in 
cleanup).
* Remounts /proc and /sys for the container.
* Remove /proc and /sys remounts from PortMappingIsolator.
* Make the SharedFilesystemIsolator a dependency for the PortMappingIsolator.


Diffs
-

  src/slave/containerizer/isolators/filesystem/shared.cpp PRE-CREATION 
  src/slave/containerizer/isolators/network/port_mapping.cpp 
9248460caa558e43a2a7d237f6a37d43f0eeacb5 
  src/slave/containerizer/linux_launcher.cpp 
d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
  src/slave/containerizer/mesos/containerizer.cpp 
9d083294caa5c5a47ba3ceaa1b57346144cb795c 

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


Testing
---

make check


Thanks,

Ian Downes



Re: Review Request 25549: Basic filesystem isolator for Linux.

2014-09-22 Thread Ian Downes

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

(Updated Sept. 22, 2014, 11:45 a.m.)


Review request for mesos, Ben Mahler, Jie Yu, and Vinod Kone.


Changes
---

Addressed comments. 


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


Repository: mesos-git


Description
---

Does not report usage or enforce quota but can create 'private' directories for 
each container which mask parts of the shared host filesystem.

This review replaces https://reviews.apache.org/r/24178/ because of some file 
renaming. I addressed all comments from earlier reviews.


Diffs (updated)
-

  include/mesos/mesos.proto dea51f94d130c131421c43e7fd774ceb8941f501 
  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/common/parse.hpp e6153d8a1f25bc9ddbe1e391306beeacfc8d5ff6 
  src/common/type_utils.hpp 480c0883fe6ed7f6a9daf77d83ebb077da2e66ee 
  src/slave/containerizer/isolators/filesystem/shared.hpp PRE-CREATION 
  src/slave/containerizer/isolators/filesystem/shared.cpp PRE-CREATION 
  src/slave/containerizer/linux_launcher.cpp 
d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
  src/slave/containerizer/mesos/containerizer.cpp 
9d083294caa5c5a47ba3ceaa1b57346144cb795c 
  src/slave/flags.hpp 21e00212bc402674eaea73b44b3f91df477a7213 
  src/slave/slave.cpp 1b3dc7370a2441e4159aa5ee552b64ca5e511e96 
  src/tests/isolator_tests.cpp c38f87632cb6984543cb3767dbd656cde7459610 
  src/tests/mesos.hpp 957e2233cc11c438fd80d3b6d1907a1223093104 

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


Testing
---

make check # added a test


Thanks,

Ian Downes



Review Request 25865: Pid namespace isolator for the MesosContainerizer.

2014-09-22 Thread Ian Downes

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

Review request for mesos, Jie Yu and Vinod Kone.


Repository: mesos-git


Description
---

Add namespaces/pid to --isolation slave flag. Places executor into a pid 
namespace so it and all descendants will be contained in the namespace. 
Requires the filesystem/shared isolator so /proc and /sys are remounted to 
reflect the different namespace.


Diffs
-

  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/slave/containerizer/isolators/namespaces/pid.hpp PRE-CREATION 
  src/slave/containerizer/isolators/namespaces/pid.cpp PRE-CREATION 
  src/slave/containerizer/linux_launcher.cpp 
d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
  src/slave/containerizer/mesos/containerizer.cpp 
9d083294caa5c5a47ba3ceaa1b57346144cb795c 
  src/tests/isolator_tests.cpp c38f87632cb6984543cb3767dbd656cde7459610 

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


Testing
---

Added test that command in pid namespaced container is in a different namespace 
and that the command is 'init' (verifies remount of /proc).


Thanks,

Ian Downes



Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Timothy St. Clair

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

Ship it!


Ship It!

- Timothy St. Clair


On Sept. 20, 2014, 12:21 a.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 20, 2014, 12:21 a.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Timothy Chen

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



src/linux/cgroups.cpp
https://reviews.apache.org/r/25858/#comment94159

Failed to check existence of the nested test cgroup


- Timothy Chen


On Sept. 20, 2014, 12:21 a.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 20, 2014, 12:21 a.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Review Request 25864: Add 'FutureNothing cgroups::empty()'.

2014-09-22 Thread Timothy Chen

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



src/linux/cgroups.cpp
https://reviews.apache.org/r/25864/#comment94161

Since you have multiple callers now, can you include in the log what 
operation that was timed out?


- Timothy Chen


On Sept. 22, 2014, 6:46 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25864/
 ---
 
 (Updated Sept. 22, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Jie Yu and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Polls cgroups.procs until no processes in the cgroup. Poll interval and 
 timeout can be specified.
 
 
 Diffs
 -
 
   src/linux/cgroups.hpp abf31df1b4dbf6f715f93256b83c9996a45099cf 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
 
 Diff: https://reviews.apache.org/r/25864/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25862: Improve shared filesystem isolator.

2014-09-22 Thread Timothy Chen

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



src/slave/containerizer/linux_launcher.cpp
https://reviews.apache.org/r/25862/#comment94162

Return error if pid not exists?


- Timothy Chen


On Sept. 22, 2014, 6:45 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25862/
 ---
 
 (Updated Sept. 22, 2014, 6:45 p.m.)
 
 
 Review request for mesos and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 * Ensure SharedFilesystemIsolator is the first isolator in prepare (and last 
 in cleanup).
 * Remounts /proc and /sys for the container.
 * Remove /proc and /sys remounts from PortMappingIsolator.
 * Make the SharedFilesystemIsolator a dependency for the PortMappingIsolator.
 
 
 Diffs
 -
 
   src/slave/containerizer/isolators/filesystem/shared.cpp PRE-CREATION 
   src/slave/containerizer/isolators/network/port_mapping.cpp 
 9248460caa558e43a2a7d237f6a37d43f0eeacb5 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/containerizer/mesos/containerizer.cpp 
 9d083294caa5c5a47ba3ceaa1b57346144cb795c 
 
 Diff: https://reviews.apache.org/r/25862/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25865: Pid namespace isolator for the MesosContainerizer.

2014-09-22 Thread Timothy Chen

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



src/slave/containerizer/isolators/namespaces/pid.cpp
https://reviews.apache.org/r/25865/#comment94166

Might be missing something of how pid namespaces work, but I don't see 
where we clean up the BIND_MOUNT_ROOT. Why do we have to (or can) assume this 
holder doesn't exist on launch?


- Timothy Chen


On Sept. 22, 2014, 6:46 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25865/
 ---
 
 (Updated Sept. 22, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Jie Yu and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Add namespaces/pid to --isolation slave flag. Places executor into a pid 
 namespace so it and all descendants will be contained in the namespace. 
 Requires the filesystem/shared isolator so /proc and /sys are remounted to 
 reflect the different namespace.
 
 
 Diffs
 -
 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/slave/containerizer/isolators/namespaces/pid.hpp PRE-CREATION 
   src/slave/containerizer/isolators/namespaces/pid.cpp PRE-CREATION 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/containerizer/mesos/containerizer.cpp 
 9d083294caa5c5a47ba3ceaa1b57346144cb795c 
   src/tests/isolator_tests.cpp c38f87632cb6984543cb3767dbd656cde7459610 
 
 Diff: https://reviews.apache.org/r/25865/diff/
 
 
 Testing
 ---
 
 Added test that command in pid namespaced container is in a different 
 namespace and that the command is 'init' (verifies remount of /proc).
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Ben Mahler


 On Sept. 20, 2014, 7:22 p.m., Ben Mahler wrote:
  Thanks Joris!
  
  Any reason you want this exposed in the public include/ folder of 
  libprocess, as opposed to an internal header inside src/? Don't think we'd 
  want this in the public includes.
 
 Niklas Nielsen wrote:
 It seems to be a bit unconsistent whether things have gone in include/ or 
 not. For example, the socket abstraction is only used by libprocess 
 internally and is in include/.
 The node class ended up there too (my / our fault) - so if we decide to 
 move the private headers to src/, we need to move that alongside doing a scan 
 for the headers we only use inside libprocess.
 
 Joris Van Remoortere wrote:
 Hi Ben,
 I am refactoring certain classes from process.cpp into the include 
 directory because my goal is to allow pluggable implementations (modules) of 
 the event-management abstraction. My thought process is that we should have 
 the classes required to implement this abstraction available in the public 
 include dir. Since this is an open source project, it's not impossible for us 
 to have some of these class declarations / definitions in the src directory, 
 and the module implementer to be required to build it with the src tree 
 pulled.
 I am in the process of making a branch available as a prototype for 
 MESOS-1330; which will make it more apparent where I am going.
 What are your thoughts on the rules behind the public include dir, and 
 what requirements we can impose on module implementers?

For the public include directory, if the abstraction is generally useful (e.g. 
Node, Socket is less clearly useful but looks ok) then it's fine to include 
these in the public headers.

`ProcessReference` however, is not something that the library user can 
leverage, and it's dangerous to expose: use of it can lead to 
ProcessManager::cleanup spinning forever!

 _My thought process is that we should have the classes required to implement 
 this abstraction available in the public include dir._

Are you interested in applying the same philosophy to the mesos code base? That 
would grow the public headers substantially.

 _Since this is an open source project, it's not impossible for us to have 
 some of these class declarations / definitions in the src directory, and the 
 module implementer to be required to build it with the src tree pulled._

Seems like a reasonable thing for module implementers IMHO, otherwise we may 
have to expose a lot of internals in the public include folder of both 
libprocess and mesos.


- Ben


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


On Sept. 20, 2014, 12:58 a.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25868/
 ---
 
 (Updated Sept. 20, 2014, 12:58 a.m.)
 
 
 Review request for mesos and Niklas Nielsen.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Move class ProcessReference out of process.cpp and into its own header.
 Part of refactoring process.cpp.
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/Makefile.am 542ae1c 
   3rdparty/libprocess/include/process/process_reference.hpp PRE-CREATION 
   3rdparty/libprocess/src/process.cpp 8adc809 
 
 Diff: https://reviews.apache.org/r/25868/diff/
 
 
 Testing
 ---
 
 make check in 3rdparty/libprocess
 support/mesos-style.py
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Review Request 25864: Add 'FutureNothing cgroups::empty()'.

2014-09-22 Thread Ben Mahler

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


Why do you need this?

Seems like one would only watch for cgroup emptiness when destroying a cgroup, 
in which case, why split emptiness waiting from a successful destroy?

- Ben Mahler


On Sept. 22, 2014, 6:46 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25864/
 ---
 
 (Updated Sept. 22, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Jie Yu and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Polls cgroups.procs until no processes in the cgroup. Poll interval and 
 timeout can be specified.
 
 
 Diffs
 -
 
   src/linux/cgroups.hpp abf31df1b4dbf6f715f93256b83c9996a45099cf 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
 
 Diff: https://reviews.apache.org/r/25864/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25785: Add guide to becoming a committer

2014-09-22 Thread Dominic Hamon


 On Sept. 19, 2014, 5:24 p.m., Adam B wrote:
  I think it's valuable to outline some guidelines for anybody interested in 
  becoming a committer, but I don't think we should set too many strict rules 
  and regulations around it. Other thoughts below.

I think exactly the opposite. I think clear guidelines give contributors goals 
to attain and allow them to have an aim further than just contributing to the 
project. It also reduces friction when deciding who to nominate as a new 
committer and encourages the nomination of new committers as contributors 
mature.


 On Sept. 19, 2014, 5:24 p.m., Adam B wrote:
  docs/becoming-a-committer.md, line 13
  https://reviews.apache.org/r/25785/diff/1/?file=693607#file693607line13
 
  10-20 non-trivial patches seems arbitrarily high. I've seen us call 
  votes for contributors with as few as a dozen patches, and some of them may 
  have been trivial by some definition. We should discuss what the actual 
  (non-trivial) patch limit should be. I would be fine nominating somebody 
  with 5 non-trivial patches if they are active in the community and 
  committed to the project.
  
  If they are to be a docs or website committer, the requirements could 
  be even less.
  
  Maybe we shouldn't even publish a hard limit publicly. Maybe anybody 
  can ask to be nominated, and the existing committers can evaluate the 
  requirements for that individual/role.

I think a limit or guideline is important to avoid the decision-making seem 
arbitrary, however i'm completely open to changing this number based on what 
people are comfortable with. There's always going to be room for interpretation 
when actually voting regarding the triviality or otherwise of the patches.


 On Sept. 19, 2014, 5:24 p.m., Adam B wrote:
  docs/becoming-a-committer.md, line 27
  https://reviews.apache.org/r/25785/diff/1/?file=693607#file693607line27
 
  Why 10 days? Why not 1 week? How did you arrive at this number?

I had to start somewhere. I wanted something that would give people enough time 
to vote and as people often go on vacation for a week, it avoids people missing 
the chance to give feedback.


 On Sept. 19, 2014, 5:24 p.m., Adam B wrote:
  docs/becoming-a-committer.md, line 34
  https://reviews.apache.org/r/25785/diff/1/?file=693607#file693607line34
 
  Does that mean we will be revoking committer status from the Berkeley 
  guys who have moved on to other things and are no longer contributing to 
  Mesos?

i need to find better wording for this. by 'positive contributor' i only meant 
'not a negative contributor'. ie, not working actively against the project or 
being difficult to work with.


 On Sept. 19, 2014, 5:24 p.m., Adam B wrote:
  docs/becoming-a-committer.md, line 36
  https://reviews.apache.org/r/25785/diff/1/?file=693607#file693607line36
 
  Has this process been used/defined previously, or are you proposing a 
  new process here? How long does the revocation vote last?

I believe this is a new process.


- Dominic


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


On Sept. 18, 2014, 10:41 a.m., Dominic Hamon wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25785/
 ---
 
 (Updated Sept. 18, 2014, 10:41 a.m.)
 
 
 Review request for mesos and Vinod Kone.
 
 
 Bugs: MESOS-1815
 https://issues.apache.org/jira/browse/MESOS-1815
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Add a guide to becoming a committer.
 
 
 Diffs
 -
 
   docs/becoming-a-committer.md PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25785/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Dominic Hamon
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Ben Mahler

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



docs/mesos-c++-style-guide.md
https://reviews.apache.org/r/25622/#comment94168

Why would the iterator be called `containerizer`?

s/containerizer/iterator/ ?



docs/mesos-c++-style-guide.md
https://reviews.apache.org/r/25622/#comment94170

Will  work with gcc 4.4+? :)


- Ben Mahler


On Sept. 22, 2014, 1:10 p.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 1:10 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Dominic Hamon


 On Sept. 22, 2014, 12:19 p.m., Ben Mahler wrote:
  docs/mesos-c++-style-guide.md, line 104
  https://reviews.apache.org/r/25622/diff/3/?file=699636#file699636line104
 
  Will  work with gcc 4.4+? :)

yes. it's in the configure check :)


- Dominic


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


On Sept. 22, 2014, 6:10 a.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 6:10 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Dominic Hamon


 On Sept. 22, 2014, 12:19 p.m., Ben Mahler wrote:
  docs/mesos-c++-style-guide.md, lines 96-99
  https://reviews.apache.org/r/25622/diff/3/?file=699636#file699636line96
 
  Why would the iterator be called `containerizer`?
  
  s/containerizer/iterator/ ?

-1

naming a variable after a type is never a good idea. in this case, you're 
getting a containerizer (iterator) from the container of containerizers so the 
name 'containerizer' makes sense.


- Dominic


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


On Sept. 22, 2014, 6:10 a.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 6:10 a.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Ben Mahler


 On Sept. 22, 2014, 7:19 p.m., Ben Mahler wrote:
  docs/mesos-c++-style-guide.md, lines 96-99
  https://reviews.apache.org/r/25622/diff/3/?file=699636#file699636line96
 
  Why would the iterator be called `containerizer`?
  
  s/containerizer/iterator/ ?
 
 Dominic Hamon wrote:
 -1
 
 naming a variable after a type is never a good idea. in this case, you're 
 getting a containerizer (iterator) from the container of containerizers so 
 the name 'containerizer' makes sense.

Sounds confusing.


- Ben


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


On Sept. 22, 2014, 1:10 p.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 1:10 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Joris Van Remoortere


 On Sept. 20, 2014, 7:22 p.m., Ben Mahler wrote:
  Thanks Joris!
  
  Any reason you want this exposed in the public include/ folder of 
  libprocess, as opposed to an internal header inside src/? Don't think we'd 
  want this in the public includes.
 
 Niklas Nielsen wrote:
 It seems to be a bit unconsistent whether things have gone in include/ or 
 not. For example, the socket abstraction is only used by libprocess 
 internally and is in include/.
 The node class ended up there too (my / our fault) - so if we decide to 
 move the private headers to src/, we need to move that alongside doing a scan 
 for the headers we only use inside libprocess.
 
 Joris Van Remoortere wrote:
 Hi Ben,
 I am refactoring certain classes from process.cpp into the include 
 directory because my goal is to allow pluggable implementations (modules) of 
 the event-management abstraction. My thought process is that we should have 
 the classes required to implement this abstraction available in the public 
 include dir. Since this is an open source project, it's not impossible for us 
 to have some of these class declarations / definitions in the src directory, 
 and the module implementer to be required to build it with the src tree 
 pulled.
 I am in the process of making a branch available as a prototype for 
 MESOS-1330; which will make it more apparent where I am going.
 What are your thoughts on the rules behind the public include dir, and 
 what requirements we can impose on module implementers?
 
 Ben Mahler wrote:
 For the public include directory, if the abstraction is generally useful 
 (e.g. Node, Socket is less clearly useful but looks ok) then it's fine to 
 include these in the public headers.
 
 `ProcessReference` however, is not something that the library user can 
 leverage, and it's dangerous to expose: use of it can lead to 
 ProcessManager::cleanup spinning forever!
 
  _My thought process is that we should have the classes required to 
 implement this abstraction available in the public include dir._
 
 Are you interested in applying the same philosophy to the mesos code 
 base? That would grow the public headers substantially.
 
  _Since this is an open source project, it's not impossible for us to 
 have some of these class declarations / definitions in the src directory, and 
 the module implementer to be required to build it with the src tree pulled._
 
 Seems like a reasonable thing for module implementers IMHO, otherwise we 
 may have to expose a lot of internals in the public include folder of both 
 libprocess and mesos.

Thanks for your feedback Ben.
I'm fine with requiring module implementers to pull the src; I just did not 
want to force the issue without a discussion. If everyone else is ok with this 
then I will keep things in the src dirs.


- Joris


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


On Sept. 20, 2014, 12:58 a.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25868/
 ---
 
 (Updated Sept. 20, 2014, 12:58 a.m.)
 
 
 Review request for mesos and Niklas Nielsen.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Move class ProcessReference out of process.cpp and into its own header.
 Part of refactoring process.cpp.
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/Makefile.am 542ae1c 
   3rdparty/libprocess/include/process/process_reference.hpp PRE-CREATION 
   3rdparty/libprocess/src/process.cpp 8adc809 
 
 Diff: https://reviews.apache.org/r/25868/diff/
 
 
 Testing
 ---
 
 make check in 3rdparty/libprocess
 support/mesos-style.py
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Review Request 25622: Update the Mesos Style Guide with C++11 and naming notes.

2014-09-22 Thread Ben Mahler


 On Sept. 22, 2014, 7:19 p.m., Ben Mahler wrote:
  docs/mesos-c++-style-guide.md, lines 96-99
  https://reviews.apache.org/r/25622/diff/3/?file=699636#file699636line96
 
  Why would the iterator be called `containerizer`?
  
  s/containerizer/iterator/ ?
 
 Dominic Hamon wrote:
 -1
 
 naming a variable after a type is never a good idea. in this case, you're 
 getting a containerizer (iterator) from the container of containerizers so 
 the name 'containerizer' makes sense.
 
 Ben Mahler wrote:
 Sounds confusing.

If 'auto' was not used here, would we call this 'containerizer'? In a loop, 
this would typically be called `iterator`, no?

```
for (auto iterator = containerizers.begin(); iterator != containerizers.end(); 
++iterator) {
  Containerizer* containerizer = *iterator;
}
```

Why do something differently when auto is used?

If the iterator was being de-referenced then `containerizer` makes sense:

```
  Containerizer* containerizer = *(containerizers.begin());
```


- Ben


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


On Sept. 22, 2014, 1:10 p.m., Alexander Rukletsov wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25622/
 ---
 
 (Updated Sept. 22, 2014, 1:10 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Ben Mahler, Dominic Hamon, and 
 Till Toenshoff.
 
 
 Bugs: MESOS-1793
 https://issues.apache.org/jira/browse/MESOS-1793
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Explicitly prohibit the use of namespace aliases. The discussion about using 
 namespace aliases took place in [the other 
 review](https://reviews.apache.org/r/25434/#comment91754). The majority 
 agreed not to introduce them in code.
 
 Give examples of preferable way of using auto.
 
 
 Diffs
 -
 
   docs/mesos-c++-style-guide.md 59a39df 
 
 Diff: https://reviews.apache.org/r/25622/diff/
 
 
 Testing
 ---
 
 Documentation change, no `make check` needed.
 
 
 Thanks,
 
 Alexander Rukletsov
 




Re: Review Request 25549: Basic filesystem isolator for Linux.

2014-09-22 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [25655, 24177, 25549]

All tests passed.

- Mesos ReviewBot


On Sept. 22, 2014, 6:45 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25549/
 ---
 
 (Updated Sept. 22, 2014, 6:45 p.m.)
 
 
 Review request for mesos, Ben Mahler, Jie Yu, and Vinod Kone.
 
 
 Bugs: MESOS-1586
 https://issues.apache.org/jira/browse/MESOS-1586
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Does not report usage or enforce quota but can create 'private' directories 
 for each container which mask parts of the shared host filesystem.
 
 This review replaces https://reviews.apache.org/r/24178/ because of some file 
 renaming. I addressed all comments from earlier reviews.
 
 
 Diffs
 -
 
   include/mesos/mesos.proto dea51f94d130c131421c43e7fd774ceb8941f501 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/common/parse.hpp e6153d8a1f25bc9ddbe1e391306beeacfc8d5ff6 
   src/common/type_utils.hpp 480c0883fe6ed7f6a9daf77d83ebb077da2e66ee 
   src/slave/containerizer/isolators/filesystem/shared.hpp PRE-CREATION 
   src/slave/containerizer/isolators/filesystem/shared.cpp PRE-CREATION 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/containerizer/mesos/containerizer.cpp 
 9d083294caa5c5a47ba3ceaa1b57346144cb795c 
   src/slave/flags.hpp 21e00212bc402674eaea73b44b3f91df477a7213 
   src/slave/slave.cpp 1b3dc7370a2441e4159aa5ee552b64ca5e511e96 
   src/tests/isolator_tests.cpp c38f87632cb6984543cb3767dbd656cde7459610 
   src/tests/mesos.hpp 957e2233cc11c438fd80d3b6d1907a1223093104 
 
 Diff: https://reviews.apache.org/r/25549/diff/
 
 
 Testing
 ---
 
 make check # added a test
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25549: Basic filesystem isolator for Linux.

2014-09-22 Thread Timothy Chen

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



src/slave/slave.cpp
https://reviews.apache.org/r/25549/#comment94177

Thanks for adding this, I was thinking about more about the TaskInfo's 
container info instead of the CommandExecutor executor info since I'm not sure 
how the command executor is going to use it yet.
I don't want to block your rb though, I can add it in another rb myself :)


- Timothy Chen


On Sept. 22, 2014, 6:45 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25549/
 ---
 
 (Updated Sept. 22, 2014, 6:45 p.m.)
 
 
 Review request for mesos, Ben Mahler, Jie Yu, and Vinod Kone.
 
 
 Bugs: MESOS-1586
 https://issues.apache.org/jira/browse/MESOS-1586
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Does not report usage or enforce quota but can create 'private' directories 
 for each container which mask parts of the shared host filesystem.
 
 This review replaces https://reviews.apache.org/r/24178/ because of some file 
 renaming. I addressed all comments from earlier reviews.
 
 
 Diffs
 -
 
   include/mesos/mesos.proto dea51f94d130c131421c43e7fd774ceb8941f501 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/common/parse.hpp e6153d8a1f25bc9ddbe1e391306beeacfc8d5ff6 
   src/common/type_utils.hpp 480c0883fe6ed7f6a9daf77d83ebb077da2e66ee 
   src/slave/containerizer/isolators/filesystem/shared.hpp PRE-CREATION 
   src/slave/containerizer/isolators/filesystem/shared.cpp PRE-CREATION 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/containerizer/mesos/containerizer.cpp 
 9d083294caa5c5a47ba3ceaa1b57346144cb795c 
   src/slave/flags.hpp 21e00212bc402674eaea73b44b3f91df477a7213 
   src/slave/slave.cpp 1b3dc7370a2441e4159aa5ee552b64ca5e511e96 
   src/tests/isolator_tests.cpp c38f87632cb6984543cb3767dbd656cde7459610 
   src/tests/mesos.hpp 957e2233cc11c438fd80d3b6d1907a1223093104 
 
 Diff: https://reviews.apache.org/r/25549/diff/
 
 
 Testing
 ---
 
 make check # added a test
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Jie Yu

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

(Updated Sept. 22, 2014, 8:35 p.m.)


Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and Vinod 
Kone.


Changes
---

Review comments.


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


Repository: mesos-git


Description
---

A dynamic version after discussed with Tim.
https://reviews.apache.org/r/25695

Did a few consistency fixes as well.


Diffs (updated)
-

  src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
  src/slave/containerizer/isolators/cgroups/cpushare.hpp 
d4df5f37e8d2e356d35ca40d799197a47393fa9a 
  src/slave/containerizer/isolators/cgroups/cpushare.cpp 
b1cad472a561e81422f980182fd24eb95701140a 
  src/slave/containerizer/isolators/cgroups/mem.cpp 
fb3db88af7b2ffa79272743f571c4c021c619c48 
  src/slave/containerizer/isolators/cgroups/perf_event.cpp 
ff047d37c1b2e659b18b5d4a1e97301192d05e55 
  src/slave/containerizer/linux_launcher.cpp 
d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
  src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 

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


Testing
---

make check
sudo make check


Thanks,

Jie Yu



Re: Review Request 25858: Allowed co-mounted cgroup subsystems to enable Mesos on machines with systemd.

2014-09-22 Thread Timothy Chen

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

Ship it!


Ship It!

- Timothy Chen


On Sept. 22, 2014, 8:35 p.m., Jie Yu wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25858/
 ---
 
 (Updated Sept. 22, 2014, 8:35 p.m.)
 
 
 Review request for mesos, Ben Mahler, Ian Downes, Timothy St. Clair, and 
 Vinod Kone.
 
 
 Bugs: MESOS-1195
 https://issues.apache.org/jira/browse/MESOS-1195
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 A dynamic version after discussed with Tim.
 https://reviews.apache.org/r/25695
 
 Did a few consistency fixes as well.
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 d4df5f37e8d2e356d35ca40d799197a47393fa9a 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 b1cad472a561e81422f980182fd24eb95701140a 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 fb3db88af7b2ffa79272743f571c4c021c619c48 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 ff047d37c1b2e659b18b5d4a1e97301192d05e55 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
 
 Diff: https://reviews.apache.org/r/25858/diff/
 
 
 Testing
 ---
 
 make check
 sudo make check
 
 
 Thanks,
 
 Jie Yu
 




Re: Review Request 25863: Rename stout/os/setns.hpp to namespaces.hpp.

2014-09-22 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [25863]

All tests passed.

- Mesos ReviewBot


On Sept. 22, 2014, 6:45 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25863/
 ---
 
 (Updated Sept. 22, 2014, 6:45 p.m.)
 
 
 Review request for mesos, Jie Yu and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Also, added os::getns(pid, ns) to get the namespace inode for comparisons 
 between pids' namespaces.
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/Makefile.am 
 db9766d70adb9076946cd2b467c55636fe5f7235 
   3rdparty/libprocess/3rdparty/stout/Makefile.am 
 b6464de53c3873ecd0b62a08ca9aac530043ffb9 
   3rdparty/libprocess/3rdparty/stout/include/Makefile.am 
 6fa5b741bdd7f089ba93bf6fea43b9f39f8f0edb 
   3rdparty/libprocess/3rdparty/stout/include/stout/os/setns.hpp 
 5278996f201a4a3d69282c1bd7b0d230d0f6cd39 
   3rdparty/libprocess/3rdparty/stout/tests/os/namespaces_tests.cpp 
 PRE-CREATION 
   3rdparty/libprocess/3rdparty/stout/tests/os/setns_tests.cpp 
 ad8e37aa2f5a29f8b421dde6b7cd5dfe241eabb5 
   src/slave/containerizer/isolators/network/port_mapping.cpp 
 9248460caa558e43a2a7d237f6a37d43f0eeacb5 
 
 Diff: https://reviews.apache.org/r/25863/diff/
 
 
 Testing
 ---
 
 Added test to check a clone(NEW_PIDNS) results in a new pid namespace.
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25569: Refactor test environment validations

2014-09-22 Thread Timothy Chen

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

(Updated Sept. 22, 2014, 9:17 p.m.)


Review request for mesos and Ben Mahler.


Repository: mesos-git


Description
---

Review: https://reviews.apache.org/r/25569


Diffs (updated)
-

  src/linux/cgroups.cpp 62df4b7645c6ab061a47634058d79ca849caa6b9 
  src/slave/containerizer/isolators/cgroups/cpushare.hpp 
2187c296ea9b1a7de9ae3f09fdf1983f98a3d01b 
  src/slave/containerizer/isolators/cgroups/cpushare.cpp 
7164ecc0f068d4a72248521e3cbd345958efa880 
  src/slave/containerizer/isolators/cgroups/mem.cpp 
b3d4a5daa90a842e501bc6be2f0cf20fe22906ac 
  src/slave/containerizer/isolators/cgroups/perf_event.cpp 
4ced508e600e13f3e5ae9d12ea199de743def652 
  src/slave/containerizer/linux_launcher.cpp 
f7bc894830a7ca3f55465dacc7b653cdc2d7758b 
  src/slave/slave.cpp 9a6646f0249fd43ae5d13bd9ee3b5da08412 
  src/tests/environment.cpp 2274251aaf653d83c2d03ef2186763978067a747 

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


Testing
---

make check


Thanks,

Timothy Chen



Re: Mesos Modules Design

2014-09-22 Thread Benjamin Hindman
Jumping on a tcon/hangout sounds healthy, but given I'm traveling right now
in Europe and timing is difficult I'm going to comment inline here.


- callsites need to be modules aware to use the right factory method to
 instantiate the modular object


I don't know how else you'd accomplish making certain components of the
system *modular* unless we changed the way we instantiated the components.
This one seems fairly self-evident to me, but perhaps there's a trick we
could play instead? Are you thinking something LD_PRELOAD-esque here? But
works well with C++?


 - mesos-core owners need to be aware of modules and versioning when they
 change the abstract API


Yes, definitely, anyone hacking in Mesos should be aware that changing the
API of something like the Allocator might break all Allocator
implementations that exist out there. This is pretty fundamental to module
systems and one of the reasons why the design has a flexible, albeit more
complicated, verification/versioning component.


 - module owners need to be aware of the modules API and versioning


As they should as well, since it would be nice to give us some flexibility
in the future to deal with the mistakes we're bound to make.


 - customers (end-users) have to be modules aware and set their runtime
 configuration correctly


Mesos will always function without the need for any external modules, as it
does today. But yes, if an operator wants to use a module than they will
definitely need to update the configuration to do so. The example I'm
thinking about here is LoadModule from Apache HTTPD.


 - errors in versioning or modules will only be caught at runtime


This is an artifact of the design constraints. In fact, perhaps it wasn't
highlighted explicitly in the design document, but we'd definitely like to
support modules in binary format, like an RPM (as you can do with Apache
HTTPD modules as well). That implies that a module developer might be
building their module independently of an operator building Mesos.
Moreover, it implies that if there is anything we definitely want to make
rock solid in our design it's what happens when such a module is launched
with a running Mesos cluster, hence the design's focus on verification and
versioning. Perhaps the design is too complicated and we should settle on
something simpler, like forcing every build of a module to be associated
with a single Mesos version, but regardless, an operator might still make a
mistake when configuring Mesos and we must do the verification at runtime.


 My alternative proposal requires the following:


Sorry if I'm just out of the loop here, but did you share a proposal with
the mailing list or on JIRA that I missed? I'm having a hard time following
your statements about your proposal without that context. That would
definitely help facilitate a discussion via tcon/hangout as well.


Re: Review Request 25862: Improve shared filesystem isolator.

2014-09-22 Thread Mesos ReviewBot

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


Bad patch!

Reviews applied: [25861]

Failed command: git apply --index 25861.patch

Error:
 error: patch failed: src/slave/containerizer/mesos/containerizer.cpp:455
error: src/slave/containerizer/mesos/containerizer.cpp: patch does not apply

- Mesos ReviewBot


On Sept. 22, 2014, 6:45 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25862/
 ---
 
 (Updated Sept. 22, 2014, 6:45 p.m.)
 
 
 Review request for mesos and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 * Ensure SharedFilesystemIsolator is the first isolator in prepare (and last 
 in cleanup).
 * Remounts /proc and /sys for the container.
 * Remove /proc and /sys remounts from PortMappingIsolator.
 * Make the SharedFilesystemIsolator a dependency for the PortMappingIsolator.
 
 
 Diffs
 -
 
   src/slave/containerizer/isolators/filesystem/shared.cpp PRE-CREATION 
   src/slave/containerizer/isolators/network/port_mapping.cpp 
 9248460caa558e43a2a7d237f6a37d43f0eeacb5 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/containerizer/mesos/containerizer.cpp 
 9d083294caa5c5a47ba3ceaa1b57346144cb795c 
 
 Diff: https://reviews.apache.org/r/25862/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Ian Downes
 




Re: Mesos Modules Design

2014-09-22 Thread Dominic Hamon
On Mon, Sep 22, 2014 at 2:36 PM, Benjamin Hindman b...@eecs.berkeley.edu
wrote:

 Jumping on a tcon/hangout sounds healthy, but given I'm traveling right now
 in Europe and timing is difficult I'm going to comment inline here.


 - callsites need to be modules aware to use the right factory method to
  instantiate the modular object
 

 I don't know how else you'd accomplish making certain components of the
 system *modular* unless we changed the way we instantiated the components.
 This one seems fairly self-evident to me, but perhaps there's a trick we
 could play instead? Are you thinking something LD_PRELOAD-esque here? But
 works well with C++?


​I'm thinking that you'd instantiate a module using the same class name but
the link step would take care of making sure the modular implementation is
available.​





  - mesos-core owners need to be aware of modules and versioning when they
  change the abstract API
 

 Yes, definitely, anyone hacking in Mesos should be aware that changing the
 API of something like the Allocator might break all Allocator
 implementations that exist out there. This is pretty fundamental to module
 systems and one of the reasons why the design has a flexible, albeit more
 complicated, verification/versioning component.


  - module owners need to be aware of the modules API and versioning
 

 As they should as well, since it would be nice to give us some flexibility
 in the future to deal with the mistakes we're bound to make.


  - customers (end-users) have to be modules aware and set their runtime
  configuration correctly
 

 Mesos will always function without the need for any external modules, as it
 does today. But yes, if an operator wants to use a module than they will
 definitely need to update the configuration to do so. The example I'm
 thinking about here is LoadModule from Apache HTTPD.


  - errors in versioning or modules will only be caught at runtime
 

 This is an artifact of the design constraints. In fact, perhaps it wasn't
 highlighted explicitly in the design document, but we'd definitely like to
 support modules in binary format, like an RPM (as you can do with Apache
 HTTPD modules as well). That implies that a module developer might be
 building their module independently of an operator building Mesos.
 Moreover, it implies that if there is anything we definitely want to make
 rock solid in our design it's what happens when such a module is launched
 with a running Mesos cluster, hence the design's focus on verification and
 versioning. Perhaps the design is too complicated and we should settle on
 something simpler, like forcing every build of a module to be associated
 with a single Mesos version, but regardless, an operator might still make a
 mistake when configuring Mesos and we must do the verification at runtime.



​Unless you take the configuration of modules out of runtime and into
compile or link time.​





  My alternative proposal requires the following:
 

 Sorry if I'm just out of the loop here, but did you share a proposal with
 the mailing list or on JIRA that I missed? I'm having a hard time following
 your statements about your proposal without that context. That would
 definitely help facilitate a discussion via tcon/hangout as well.



​I've made this proposal on JIRA and on this mailing list, but for
simplicity here it is again:

- create abstract classes to define interfaces to objects that should be
modular
- build modules as static libraries that can be assembled at link time to
create custom Mesos builds

That's it. :)​




-- 
Dominic Hamon | @mrdo | Twitter
*There are no bad ideas; only good ideas that go horribly wrong.*


Review Request 25911: Changed master to free up resources for completed tasks when framework is disconnected.

2014-09-22 Thread Niklas Nielsen

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

Review request for mesos and Ben Mahler.


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


Repository: mesos-git


Description
---

We have run into a problem that cause tasks which completes, when a
framework is disconnected and has a fail-over time, to remain in a
running state even though the tasks actually finishes. This hogs the
cluster and gives users a inconsistent view of the cluster state.

The problem turn out to be an issue with the ack-cycle of status
updates: If the framework disconnects (with a failover timeout set), the
status update manage on the slaves will keep trying to send the front of
status update stream to the master (which in turn forwards it to the
framework). If the first status update after the disconnect is terminal,
things work out fine; the master picks the terminal state up, removes
the task and release the resources. If, on the other hand, one
non-terminal status is in the stream. The master will never know that
the task finished (or failed) before the framework reconnects.

As a first pass, this patch makes the status update manager inform the
master if a terminal state was found in the pending stream of a task.
If so, the master will recover the resources but will still wait the
updates to arrive before updating the task state and statuses.


Diffs
-

  src/master/master.hpp f5d74ae 
  src/master/master.cpp e5d30e9 
  src/messages/messages.proto 7cb3ce6 
  src/slave/status_update_manager.hpp 24e3882 
  src/slave/status_update_manager.cpp 5d5cf23 
  src/tests/fault_tolerance_tests.cpp 1543860 

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


Testing
---

Added a new test: FaultToleranceTest.RecoverResourcesDuringSchedulerDisconnect 
which exercise the new code path.

make check


Thanks,

Niklas Nielsen



Re: Review Request 25569: Refactor test environment validations

2014-09-22 Thread Ben Mahler

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


Did you look at the diff when you posted this review? Looks like you needed to 
rebase against master.

- Ben Mahler


On Sept. 22, 2014, 9:17 p.m., Timothy Chen wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25569/
 ---
 
 (Updated Sept. 22, 2014, 9:17 p.m.)
 
 
 Review request for mesos and Ben Mahler.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Review: https://reviews.apache.org/r/25569
 
 
 Diffs
 -
 
   src/linux/cgroups.cpp 62df4b7645c6ab061a47634058d79ca849caa6b9 
   src/slave/containerizer/isolators/cgroups/cpushare.hpp 
 2187c296ea9b1a7de9ae3f09fdf1983f98a3d01b 
   src/slave/containerizer/isolators/cgroups/cpushare.cpp 
 7164ecc0f068d4a72248521e3cbd345958efa880 
   src/slave/containerizer/isolators/cgroups/mem.cpp 
 b3d4a5daa90a842e501bc6be2f0cf20fe22906ac 
   src/slave/containerizer/isolators/cgroups/perf_event.cpp 
 4ced508e600e13f3e5ae9d12ea199de743def652 
   src/slave/containerizer/linux_launcher.cpp 
 f7bc894830a7ca3f55465dacc7b653cdc2d7758b 
   src/slave/slave.cpp 9a6646f0249fd43ae5d13bd9ee3b5da08412 
   src/tests/environment.cpp 2274251aaf653d83c2d03ef2186763978067a747 
 
 Diff: https://reviews.apache.org/r/25569/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Timothy Chen
 




Re: Review Request 25865: Pid namespace isolator for the MesosContainerizer.

2014-09-22 Thread Mesos ReviewBot

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


Bad patch!

Reviews applied: [25865]

Failed command: git apply --index 25865.patch

Error:
 error: patch failed: src/Makefile.am:339
error: src/Makefile.am: patch does not apply
error: patch failed: src/slave/containerizer/linux_launcher.cpp:95
error: src/slave/containerizer/linux_launcher.cpp: patch does not apply
error: patch failed: src/slave/containerizer/mesos/containerizer.cpp:40
error: src/slave/containerizer/mesos/containerizer.cpp: patch does not apply

- Mesos ReviewBot


On Sept. 22, 2014, 6:46 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25865/
 ---
 
 (Updated Sept. 22, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Jie Yu and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Add namespaces/pid to --isolation slave flag. Places executor into a pid 
 namespace so it and all descendants will be contained in the namespace. 
 Requires the filesystem/shared isolator so /proc and /sys are remounted to 
 reflect the different namespace.
 
 
 Diffs
 -
 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/slave/containerizer/isolators/namespaces/pid.hpp PRE-CREATION 
   src/slave/containerizer/isolators/namespaces/pid.cpp PRE-CREATION 
   src/slave/containerizer/linux_launcher.cpp 
 d5ef1d6aa762cf81a3e8384552d97fe95b9cbd95 
   src/slave/containerizer/mesos/containerizer.cpp 
 9d083294caa5c5a47ba3ceaa1b57346144cb795c 
   src/tests/isolator_tests.cpp c38f87632cb6984543cb3767dbd656cde7459610 
 
 Diff: https://reviews.apache.org/r/25865/diff/
 
 
 Testing
 ---
 
 Added test that command in pid namespaced container is in a different 
 namespace and that the command is 'init' (verifies remount of /proc).
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25866: Updated the semantics of disconnected/deactivated semantics in master.

2014-09-22 Thread Vinod Kone


 On Sept. 21, 2014, 9:20 a.m., Adam B wrote:
  src/master/master.hpp, lines 947-950
  https://reviews.apache.org/r/25866/diff/2/?file=699118#file699118line947
 
  Comment here should be for the Slave.
  'active' is set to false if resources from this slave should not be 
  offered. This happens when the slave is disconnected or the master receives 
  a DeactivateSlaveMessage.
  Do we have a DeactivateSlaveMessage yet? Or does that come with the 
  HTTP endpoint?

oops. good catch. fixed. we don't have a DeactivateSlaveMessage yet. not sure 
when it's going to be introduced.


 On Sept. 21, 2014, 9:20 a.m., Adam B wrote:
  src/master/master.cpp, lines 3061-3062
  https://reviews.apache.org/r/25866/diff/2/?file=699119#file699119line3061
 
  Why are these CHECKs? How should the master respond if it does receive 
  such a message from a deactivated slave? Should we perhaps be sending a 
  Shutdown[Slave]Message, or some sort of DeactivateSlaveMessage?

This is a CHECK because it shouldn't happen with the current design (slave is 
deactivated only when disconnected). When these semantics change (e.g., 
introduction of DeactivateSlaveMessage) we'll have to change the CHECK.


 On Sept. 21, 2014, 9:20 a.m., Adam B wrote:
  src/master/master.cpp, line 1552
  https://reviews.apache.org/r/25866/diff/2/?file=699119#file699119line1552
 
  Can you explain why this TODO is no longer needed? 
  allocator-frameworkActivated calls allocator-allocate, which will sort 
  roles/frameworks and make initial offers based on a stale notion of the 
  newly reactivated framework's outstanding offers. If the resources were 
  recovered first, the allocator would make fairer offers when the framework 
  is first reactivated.

It was a bad TODO (on my part) because it doesn't tell me why I didn't fix it 
in the first place instead of adding a TODO. Maybe I added the TODO as part of 
some other cleanup and didn't want to change too much in that review.

Anyway, now I addressed the TODO now.


 On Sept. 21, 2014, 9:20 a.m., Adam B wrote:
  src/master/master.cpp, line 3988
  https://reviews.apache.org/r/25866/diff/2/?file=699119#file699119line3988
 
  Ditto. Isn't this TODO still relevant?

fixed. see above.


- Vinod


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


On Sept. 20, 2014, 6:46 p.m., Vinod Kone wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25866/
 ---
 
 (Updated Sept. 20, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Adam B and Ben Mahler.
 
 
 Bugs: MESOS-1081 and MESOS-1811
 https://issues.apache.org/jira/browse/MESOS-1081
 https://issues.apache.org/jira/browse/MESOS-1811
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Made consistent what connected and active frameworks/slaves means.
 
 Fixed MESOS-1811 along the way.
 
 
 Diffs
 -
 
   src/master/http.cpp 3f5a01dfddca9cea73563100d88e0c03f600d6b1 
   src/master/master.hpp f5d74aef185fad861139186be1cab089f8005a94 
   src/master/master.cpp e5d30e9c7ba1ec0cdd640c81610790f3397f3062 
   src/tests/fault_tolerance_tests.cpp 
 154386044d0247b39d84719d7ff14250682a0695 
 
 Diff: https://reviews.apache.org/r/25866/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Vinod Kone
 




Re: Review Request 25866: Updated semantics of disconnected/deactivated slaves/frameworks in master.

2014-09-22 Thread Vinod Kone

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

(Updated Sept. 22, 2014, 11:50 p.m.)


Review request for mesos, Adam B and Ben Mahler.


Changes
---

dominic's and adam's comments. PTAL.


Summary (updated)
-

Updated semantics of disconnected/deactivated slaves/frameworks in master.


Bugs: MESOS-1081 and MESOS-1811
https://issues.apache.org/jira/browse/MESOS-1081
https://issues.apache.org/jira/browse/MESOS-1811


Repository: mesos-git


Description
---

Made consistent what connected and active frameworks/slaves means.

Fixed MESOS-1811 along the way.


Diffs (updated)
-

  src/master/http.cpp 3f5a01dfddca9cea73563100d88e0c03f600d6b1 
  src/master/master.hpp f5d74aef185fad861139186be1cab089f8005a94 
  src/master/master.cpp e5d30e9c7ba1ec0cdd640c81610790f3397f3062 
  src/tests/fault_tolerance_tests.cpp 154386044d0247b39d84719d7ff14250682a0695 
  src/tests/master_tests.cpp 8e4ec1d85c4530b5421387de55036f7d40ee3180 

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


Testing
---

make check


Thanks,

Vinod Kone



Re: Review Request 25866: Updated the semantics of disconnected/deactivated semantics in master.

2014-09-22 Thread Vinod Kone


 On Sept. 20, 2014, 2:26 p.m., Dominic Hamon wrote:
  src/master/master.cpp, line 4649
  https://reviews.apache.org/r/25866/diff/1/?file=698461#file698461line4649
 
  consider adding gauges for connected/disconnected slaves

done. added for frameworks too.


- Vinod


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


On Sept. 20, 2014, 6:46 p.m., Vinod Kone wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25866/
 ---
 
 (Updated Sept. 20, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Adam B and Ben Mahler.
 
 
 Bugs: MESOS-1081 and MESOS-1811
 https://issues.apache.org/jira/browse/MESOS-1081
 https://issues.apache.org/jira/browse/MESOS-1811
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Made consistent what connected and active frameworks/slaves means.
 
 Fixed MESOS-1811 along the way.
 
 
 Diffs
 -
 
   src/master/http.cpp 3f5a01dfddca9cea73563100d88e0c03f600d6b1 
   src/master/master.hpp f5d74aef185fad861139186be1cab089f8005a94 
   src/master/master.cpp e5d30e9c7ba1ec0cdd640c81610790f3397f3062 
   src/tests/fault_tolerance_tests.cpp 
 154386044d0247b39d84719d7ff14250682a0695 
 
 Diff: https://reviews.apache.org/r/25866/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Vinod Kone
 




Re: Review Request 25867: Updated ping message to embed the slave registered status.

2014-09-22 Thread Vinod Kone

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

(Updated Sept. 22, 2014, 11:51 p.m.)


Review request for mesos and Ben Mahler.


Changes
---

rebased.


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


Repository: mesos-git


Description
---

Embeded slave registration status in ping message to solicit slave 
re-registration during one way master -- slave partition.


Diffs (updated)
-

  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/master/master.cpp e5d30e9c7ba1ec0cdd640c81610790f3397f3062 
  src/messages/messages.proto 7cb3ce651997c04ef1ef95539098ed2a99270b11 
  src/slave/slave.hpp 4f3df5c49a8cf72fc7153158c9eb045196b6cf13 
  src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
  src/tests/partition_tests.cpp PRE-CREATION 

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


Testing
---

make check


Thanks,

Vinod Kone



Re: Review Request 25864: Add 'FutureNothing cgroups::empty()'.

2014-09-22 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [25864]

All tests passed.

- Mesos ReviewBot


On Sept. 22, 2014, 6:46 p.m., Ian Downes wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25864/
 ---
 
 (Updated Sept. 22, 2014, 6:46 p.m.)
 
 
 Review request for mesos, Jie Yu and Vinod Kone.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Polls cgroups.procs until no processes in the cgroup. Poll interval and 
 timeout can be specified.
 
 
 Diffs
 -
 
   src/linux/cgroups.hpp abf31df1b4dbf6f715f93256b83c9996a45099cf 
   src/linux/cgroups.cpp 5093b4ca1ac17238234d96613b7f4ceab4373c48 
 
 Diff: https://reviews.apache.org/r/25864/diff/
 
 
 Testing
 ---
 
 
 Thanks,
 
 Ian Downes
 




Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/module/manager.cpp, lines 43-44
  https://reviews.apache.org/r/25848/diff/1/?file=697029#file697029line43
 
  Ben, we did the module manager as a singleton. I know it is a uncommon 
  pattern in Mesos in general. Do you have any thoughts on this? We will need 
  to take care of thread-safety with whatever state we maintain in the module 
  manager.

Ben, any thoughts on this one?


- Kapil


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


On Sept. 22, 2014, 8:22 p.m., Kapil Arya wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25848/
 ---
 
 (Updated Sept. 22, 2014, 8:22 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, 
 and Timothy St. Clair.
 
 
 Bugs: MESOS-1384
 https://issues.apache.org/jira/browse/MESOS-1384
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Adding a first class primitive, abstraction and process for dynamic library 
 writing and loading can make it easier to extend inner workings of Mesos. 
 Making it possible to have dynamic loadable resource allocators, isolators, 
 containerizes, authenticators and much more.
 
 
 Diffs
 -
 
   include/mesos/module.hpp PRE-CREATION 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/examples/test_module.hpp PRE-CREATION 
   src/examples/test_module_impl.cpp PRE-CREATION 
   src/module/manager.hpp PRE-CREATION 
   src/module/manager.cpp PRE-CREATION 
   src/tests/module_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25848/diff/
 
 
 Testing
 ---
 
 Ran make check with added tests for verifying library/module loading and 
 simple version check.
 
 
 Thanks,
 
 Kapil Arya
 




Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya

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

(Updated Sept. 22, 2014, 8:22 p.m.)


Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, and 
Timothy St. Clair.


Changes
---

Added comments; use shared_ptr; added lock; and addressed some more of Nik's 
comments.


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


Repository: mesos-git


Description
---

Adding a first class primitive, abstraction and process for dynamic library 
writing and loading can make it easier to extend inner workings of Mesos. 
Making it possible to have dynamic loadable resource allocators, isolators, 
containerizes, authenticators and much more.


Diffs (updated)
-

  include/mesos/module.hpp PRE-CREATION 
  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/examples/test_module.hpp PRE-CREATION 
  src/examples/test_module_impl.cpp PRE-CREATION 
  src/module/manager.hpp PRE-CREATION 
  src/module/manager.cpp PRE-CREATION 
  src/tests/module_tests.cpp PRE-CREATION 

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


Testing
---

Ran make check with added tests for verifying library/module loading and simple 
version check.


Thanks,

Kapil Arya



Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/examples/test_module.cpp, line 38
  https://reviews.apache.org/r/25848/diff/1/?file=697027#file697027line38
 
  You could also throw in a comment here on what function declaration 
  that gets generated i.e. exported symbol name and return type.

Done!


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/module/manager.cpp, lines 189-215
  https://reviews.apache.org/r/25848/diff/1/?file=697029#file697029line189
 
  This block is very dense - mind spreading it out a little bit?

Added a TODO for Bernd.


 On Sept. 19, 2014, 7:39 p.m., Niklas Nielsen wrote:
  src/tests/module.hpp, line 29
  https://reviews.apache.org/r/25848/diff/1/?file=697032#file697032line29
 
  And perhaps highlight the virtual destructor's importance (in order to 
  clean up the object in the library's context). People are probably going to 
  use this as a template for writing new modules :-)

Done.


- Kapil


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


On Sept. 22, 2014, 8:22 p.m., Kapil Arya wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25848/
 ---
 
 (Updated Sept. 22, 2014, 8:22 p.m.)
 
 
 Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, 
 and Timothy St. Clair.
 
 
 Bugs: MESOS-1384
 https://issues.apache.org/jira/browse/MESOS-1384
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Adding a first class primitive, abstraction and process for dynamic library 
 writing and loading can make it easier to extend inner workings of Mesos. 
 Making it possible to have dynamic loadable resource allocators, isolators, 
 containerizes, authenticators and much more.
 
 
 Diffs
 -
 
   include/mesos/module.hpp PRE-CREATION 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/examples/test_module.hpp PRE-CREATION 
   src/examples/test_module_impl.cpp PRE-CREATION 
   src/module/manager.hpp PRE-CREATION 
   src/module/manager.cpp PRE-CREATION 
   src/tests/module_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25848/diff/
 
 
 Testing
 ---
 
 Ran make check with added tests for verifying library/module loading and 
 simple version check.
 
 
 Thanks,
 
 Kapil Arya
 




Re: Review Request 25911: Changed master to free up resources for completed tasks when framework is disconnected.

2014-09-22 Thread Mesos ReviewBot

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


Bad patch!

Reviews applied: [25911]

Failed command: ./support/mesos-style.py

Error:
 Checking 507 files using filter 
--filter=-,+build/class,+build/deprecated,+build/endif_comment,+readability/todo,+readability/namespace,+runtime/vlog,+whitespace/blank_line,+whitespace/comma,+whitespace/end_of_line,+whitespace/ending_newline,+whitespace/forcolon,+whitespace/indent,+whitespace/line_length,+whitespace/tab,+whitespace/todo
src/slave/status_update_manager.cpp:189:  Lines should be = 80 characters long 
 [whitespace/line_length] [2]
src/slave/status_update_manager.hpp:299:  Redundant blank line at the start of 
a code block should be deleted.  [whitespace/blank_line] [2]
Total errors found: 2

- Mesos ReviewBot


On Sept. 22, 2014, 10:30 p.m., Niklas Nielsen wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25911/
 ---
 
 (Updated Sept. 22, 2014, 10:30 p.m.)
 
 
 Review request for mesos and Ben Mahler.
 
 
 Bugs: MESOS-1817
 https://issues.apache.org/jira/browse/MESOS-1817
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 We have run into a problem that cause tasks which completes, when a
 framework is disconnected and has a fail-over time, to remain in a
 running state even though the tasks actually finishes. This hogs the
 cluster and gives users a inconsistent view of the cluster state.
 
 The problem turn out to be an issue with the ack-cycle of status
 updates: If the framework disconnects (with a failover timeout set), the
 status update manage on the slaves will keep trying to send the front of
 status update stream to the master (which in turn forwards it to the
 framework). If the first status update after the disconnect is terminal,
 things work out fine; the master picks the terminal state up, removes
 the task and release the resources. If, on the other hand, one
 non-terminal status is in the stream. The master will never know that
 the task finished (or failed) before the framework reconnects.
 
 As a first pass, this patch makes the status update manager inform the
 master if a terminal state was found in the pending stream of a task.
 If so, the master will recover the resources but will still wait the
 updates to arrive before updating the task state and statuses.
 
 
 Diffs
 -
 
   src/master/master.hpp f5d74ae 
   src/master/master.cpp e5d30e9 
   src/messages/messages.proto 7cb3ce6 
   src/slave/status_update_manager.hpp 24e3882 
   src/slave/status_update_manager.cpp 5d5cf23 
   src/tests/fault_tolerance_tests.cpp 1543860 
 
 Diff: https://reviews.apache.org/r/25911/diff/
 
 
 Testing
 ---
 
 Added a new test: 
 FaultToleranceTest.RecoverResourcesDuringSchedulerDisconnect which exercise 
 the new code path.
 
 make check
 
 
 Thanks,
 
 Niklas Nielsen
 




Re: Review Request 25866: Updated semantics of disconnected/deactivated slaves/frameworks in master.

2014-09-22 Thread Adam B

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

Ship it!


Great job.


src/master/master.cpp
https://reviews.apache.org/r/25866/#comment94218

Only need to set connected=true once.


- Adam B


On Sept. 22, 2014, 4:50 p.m., Vinod Kone wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25866/
 ---
 
 (Updated Sept. 22, 2014, 4:50 p.m.)
 
 
 Review request for mesos, Adam B and Ben Mahler.
 
 
 Bugs: MESOS-1081 and MESOS-1811
 https://issues.apache.org/jira/browse/MESOS-1081
 https://issues.apache.org/jira/browse/MESOS-1811
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Made consistent what connected and active frameworks/slaves means.
 
 Fixed MESOS-1811 along the way.
 
 
 Diffs
 -
 
   src/master/http.cpp 3f5a01dfddca9cea73563100d88e0c03f600d6b1 
   src/master/master.hpp f5d74aef185fad861139186be1cab089f8005a94 
   src/master/master.cpp e5d30e9c7ba1ec0cdd640c81610790f3397f3062 
   src/tests/fault_tolerance_tests.cpp 
 154386044d0247b39d84719d7ff14250682a0695 
   src/tests/master_tests.cpp 8e4ec1d85c4530b5421387de55036f7d40ee3180 
 
 Diff: https://reviews.apache.org/r/25866/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Vinod Kone
 




Re: Review Request 25911: Changed master to free up resources for completed tasks when framework is disconnected.

2014-09-22 Thread Timothy Chen

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



src/master/master.cpp
https://reviews.apache.org/r/25911/#comment94221

Seems like resources recovered is only used internally for the master, any 
reason why introducing a new protobuf field instead of just storing it locally?


- Timothy Chen


On Sept. 22, 2014, 10:30 p.m., Niklas Nielsen wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25911/
 ---
 
 (Updated Sept. 22, 2014, 10:30 p.m.)
 
 
 Review request for mesos and Ben Mahler.
 
 
 Bugs: MESOS-1817
 https://issues.apache.org/jira/browse/MESOS-1817
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 We have run into a problem that cause tasks which completes, when a
 framework is disconnected and has a fail-over time, to remain in a
 running state even though the tasks actually finishes. This hogs the
 cluster and gives users a inconsistent view of the cluster state.
 
 The problem turn out to be an issue with the ack-cycle of status
 updates: If the framework disconnects (with a failover timeout set), the
 status update manage on the slaves will keep trying to send the front of
 status update stream to the master (which in turn forwards it to the
 framework). If the first status update after the disconnect is terminal,
 things work out fine; the master picks the terminal state up, removes
 the task and release the resources. If, on the other hand, one
 non-terminal status is in the stream. The master will never know that
 the task finished (or failed) before the framework reconnects.
 
 As a first pass, this patch makes the status update manager inform the
 master if a terminal state was found in the pending stream of a task.
 If so, the master will recover the resources but will still wait the
 updates to arrive before updating the task state and statuses.
 
 
 Diffs
 -
 
   src/master/master.hpp f5d74ae 
   src/master/master.cpp e5d30e9 
   src/messages/messages.proto 7cb3ce6 
   src/slave/status_update_manager.hpp 24e3882 
   src/slave/status_update_manager.cpp 5d5cf23 
   src/tests/fault_tolerance_tests.cpp 1543860 
 
 Diff: https://reviews.apache.org/r/25911/diff/
 
 
 Testing
 ---
 
 Added a new test: 
 FaultToleranceTest.RecoverResourcesDuringSchedulerDisconnect which exercise 
 the new code path.
 
 make check
 
 
 Thanks,
 
 Niklas Nielsen
 




Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Joris Van Remoortere


 On Sept. 20, 2014, 7:22 p.m., Ben Mahler wrote:
  Thanks Joris!
  
  Any reason you want this exposed in the public include/ folder of 
  libprocess, as opposed to an internal header inside src/? Don't think we'd 
  want this in the public includes.
 
 Niklas Nielsen wrote:
 It seems to be a bit unconsistent whether things have gone in include/ or 
 not. For example, the socket abstraction is only used by libprocess 
 internally and is in include/.
 The node class ended up there too (my / our fault) - so if we decide to 
 move the private headers to src/, we need to move that alongside doing a scan 
 for the headers we only use inside libprocess.
 
 Joris Van Remoortere wrote:
 Hi Ben,
 I am refactoring certain classes from process.cpp into the include 
 directory because my goal is to allow pluggable implementations (modules) of 
 the event-management abstraction. My thought process is that we should have 
 the classes required to implement this abstraction available in the public 
 include dir. Since this is an open source project, it's not impossible for us 
 to have some of these class declarations / definitions in the src directory, 
 and the module implementer to be required to build it with the src tree 
 pulled.
 I am in the process of making a branch available as a prototype for 
 MESOS-1330; which will make it more apparent where I am going.
 What are your thoughts on the rules behind the public include dir, and 
 what requirements we can impose on module implementers?
 
 Ben Mahler wrote:
 For the public include directory, if the abstraction is generally useful 
 (e.g. Node, Socket is less clearly useful but looks ok) then it's fine to 
 include these in the public headers.
 
 `ProcessReference` however, is not something that the library user can 
 leverage, and it's dangerous to expose: use of it can lead to 
 ProcessManager::cleanup spinning forever!
 
  _My thought process is that we should have the classes required to 
 implement this abstraction available in the public include dir._
 
 Are you interested in applying the same philosophy to the mesos code 
 base? That would grow the public headers substantially.
 
  _Since this is an open source project, it's not impossible for us to 
 have some of these class declarations / definitions in the src directory, and 
 the module implementer to be required to build it with the src tree pulled._
 
 Seems like a reasonable thing for module implementers IMHO, otherwise we 
 may have to expose a lot of internals in the public include folder of both 
 libprocess and mesos.
 
 Joris Van Remoortere wrote:
 Thanks for your feedback Ben.
 I'm fine with requiring module implementers to pull the src; I just did 
 not want to force the issue without a discussion. If everyone else is ok with 
 this then I will keep things in the src dirs.

Here is a prototype for the event management refactor I would like to do for 
MESOS-1330: https://github.com/mesosphere/mesos/tree/abstract-event-manager
I will modify this diff to move the process_reference into src as discussed. (I 
have followed the same pattern in the above prototype).


- Joris


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


On Sept. 20, 2014, 12:58 a.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25868/
 ---
 
 (Updated Sept. 20, 2014, 12:58 a.m.)
 
 
 Review request for mesos and Niklas Nielsen.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Move class ProcessReference out of process.cpp and into its own header.
 Part of refactoring process.cpp.
 
 
 Diffs
 -
 
   3rdparty/libprocess/include/Makefile.am 542ae1c 
   3rdparty/libprocess/include/process/process_reference.hpp PRE-CREATION 
   3rdparty/libprocess/src/process.cpp 8adc809 
 
 Diff: https://reviews.apache.org/r/25868/diff/
 
 
 Testing
 ---
 
 make check in 3rdparty/libprocess
 support/mesos-style.py
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Joris Van Remoortere

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

(Updated Sept. 23, 2014, 1:18 a.m.)


Review request for mesos and Niklas Nielsen.


Changes
---

Move ProcessReference to src dir from include dir.


Repository: mesos-git


Description
---

Move class ProcessReference out of process.cpp and into its own header.
Part of refactoring process.cpp.


Diffs (updated)
-

  3rdparty/libprocess/Makefile.am edbe54b 
  3rdparty/libprocess/src/process.cpp 8adc809 
  3rdparty/libprocess/src/process_reference.hpp PRE-CREATION 

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


Testing
---

make check in 3rdparty/libprocess
support/mesos-style.py


Thanks,

Joris Van Remoortere



Re: Review Request 25867: Updated ping message to embed the slave registered status.

2014-09-22 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [25866, 25867]

All tests passed.

- Mesos ReviewBot


On Sept. 22, 2014, 11:51 p.m., Vinod Kone wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25867/
 ---
 
 (Updated Sept. 22, 2014, 11:51 p.m.)
 
 
 Review request for mesos and Ben Mahler.
 
 
 Bugs: MESOS-1668
 https://issues.apache.org/jira/browse/MESOS-1668
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Embeded slave registration status in ping message to solicit slave 
 re-registration during one way master -- slave partition.
 
 
 Diffs
 -
 
   src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
   src/master/master.cpp e5d30e9c7ba1ec0cdd640c81610790f3397f3062 
   src/messages/messages.proto 7cb3ce651997c04ef1ef95539098ed2a99270b11 
   src/slave/slave.hpp 4f3df5c49a8cf72fc7153158c9eb045196b6cf13 
   src/slave/slave.cpp 28eb02852ddcc10efe589a8069dba9c895bc160e 
   src/tests/partition_tests.cpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25867/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Vinod Kone
 




Review Request 25922: Explore disk io isolation in cgroups

2014-09-22 Thread Joris Van Remoortere

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

Review request for mesos, Adam B and Benjamin Hindman.


Repository: mesos-git


Description
---

Following from: r25105
Currently there is no disk isolation in place and this affects an executor to 
be starved of disk when another disk heavy operation such as copying a multi 
gigabyte file is being performed by another executor.


Diffs
-

  include/mesos/mesos.proto be45494 
  include/mesos/resources.hpp 0e37170 
  src/Makefile.am 9b973e5 
  src/common/resources.cpp e9a0c85 
  src/linux/cgroups.hpp abf31df 
  src/linux/cgroups.cpp 5093b4c 
  src/slave/containerizer/isolators/cgroups/blkio.hpp PRE-CREATION 
  src/slave/containerizer/isolators/cgroups/blkio.cpp PRE-CREATION 
  src/slave/containerizer/mesos/containerizer.cpp 9d08329 
  src/tests/isolator_tests.cpp c38f876 

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


Testing
---

make check
sudo bin/mesos-tests.sh --gtest_filter=*BlkIO*
support/mesos-style.py


Thanks,

Joris Van Remoortere



Re: Review Request 25789: Variadic strings join

2014-09-22 Thread Adam B

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

Ship it!


Looks great! A few minor nits and a request for a comment. I'd be willing to 
commit this unless @benjaminhindman has any objections.


3rdparty/libprocess/3rdparty/stout/include/stout/strings.hpp
https://reviews.apache.org/r/25789/#comment94247

Nit: You only need single-spacing between a namespace opening and the first 
code inside it.



3rdparty/libprocess/3rdparty/stout/include/stout/strings.hpp
https://reviews.apache.org/r/25789/#comment94248

Also don't need double-spacing here (but do below it, I believe)



3rdparty/libprocess/3rdparty/stout/include/stout/strings.hpp
https://reviews.apache.org/r/25789/#comment94249

Maybe you could comment why there are two THeads here (for disambiguating 
from the Iterable version below)? So the next time somebody looks at this 
they'll know why/how not to change it.



3rdparty/libprocess/3rdparty/stout/tests/strings_tests.cpp
https://reviews.apache.org/r/25789/#comment94250

s/narly/gnarly/?


- Adam B


On Sept. 22, 2014, 10:30 a.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25789/
 ---
 
 (Updated Sept. 22, 2014, 10:30 a.m.)
 
 
 Review request for mesos and Benjamin Hindman.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Add Variadic strings join.
 There is a second version of the variadic join which takes a reference to a 
 stringstream as a parameter. This is handy when strings::join is just a part 
 of a larger string manipulation.
 
 
 Diffs
 -
 
   3rdparty/libprocess/3rdparty/stout/include/stout/strings.hpp a1702cd 
   3rdparty/libprocess/3rdparty/stout/tests/strings_tests.cpp 51008e5 
 
 Diff: https://reviews.apache.org/r/25789/diff/
 
 
 Testing
 ---
 
 Ran make check for stout. Added test cases for join as these were missing.
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Review Request 25848: Introducing mesos modules.

2014-09-22 Thread Kapil Arya

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

(Updated Sept. 23, 2014, 12:05 a.m.)


Review request for mesos, Benjamin Hindman, Bernd Mathiske, Niklas Nielsen, and 
Timothy St. Clair.


Changes
---

Fixed minor typo.


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


Repository: mesos-git


Description
---

Adding a first class primitive, abstraction and process for dynamic library 
writing and loading can make it easier to extend inner workings of Mesos. 
Making it possible to have dynamic loadable resource allocators, isolators, 
containerizes, authenticators and much more.


Diffs (updated)
-

  include/mesos/module.hpp PRE-CREATION 
  src/Makefile.am 9b973e5503e30180045e270220987ba647da8038 
  src/examples/test_module.hpp PRE-CREATION 
  src/examples/test_module_impl.cpp PRE-CREATION 
  src/module/manager.hpp PRE-CREATION 
  src/module/manager.cpp PRE-CREATION 
  src/tests/module_tests.cpp PRE-CREATION 

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


Testing
---

Ran make check with added tests for verifying library/module loading and simple 
version check.


Thanks,

Kapil Arya



Re: Review Request 25868: Refactor Libprocess: class ProcessReference

2014-09-22 Thread Mesos ReviewBot

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


Patch looks great!

Reviews applied: [25868]

All tests passed.

- Mesos ReviewBot


On Sept. 23, 2014, 1:18 a.m., Joris Van Remoortere wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25868/
 ---
 
 (Updated Sept. 23, 2014, 1:18 a.m.)
 
 
 Review request for mesos and Niklas Nielsen.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Move class ProcessReference out of process.cpp and into its own header.
 Part of refactoring process.cpp.
 
 
 Diffs
 -
 
   3rdparty/libprocess/Makefile.am edbe54b 
   3rdparty/libprocess/src/process.cpp 8adc809 
   3rdparty/libprocess/src/process_reference.hpp PRE-CREATION 
 
 Diff: https://reviews.apache.org/r/25868/diff/
 
 
 Testing
 ---
 
 make check in 3rdparty/libprocess
 support/mesos-style.py
 
 
 Thanks,
 
 Joris Van Remoortere
 




Re: Review Request 25569: Refactor test environment validations

2014-09-22 Thread Timothy Chen


 On Sept. 22, 2014, 10:52 p.m., Ben Mahler wrote:
  Did you look at the diff when you posted this review? Looks like you needed 
  to rebase against master.

Sorry didn't really look at it and you're right it's not rebased!


- Timothy


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


On Sept. 23, 2014, 5:28 a.m., Timothy Chen wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://reviews.apache.org/r/25569/
 ---
 
 (Updated Sept. 23, 2014, 5:28 a.m.)
 
 
 Review request for mesos and Ben Mahler.
 
 
 Repository: mesos-git
 
 
 Description
 ---
 
 Review: https://reviews.apache.org/r/25569
 
 
 Diffs
 -
 
   src/tests/environment.cpp 2274251aaf653d83c2d03ef2186763978067a747 
 
 Diff: https://reviews.apache.org/r/25569/diff/
 
 
 Testing
 ---
 
 make check
 
 
 Thanks,
 
 Timothy Chen
 




Re: Review Request 25569: Refactor test environment validations

2014-09-22 Thread Timothy Chen

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

(Updated Sept. 23, 2014, 5:28 a.m.)


Review request for mesos and Ben Mahler.


Repository: mesos-git


Description
---

Review: https://reviews.apache.org/r/25569


Diffs (updated)
-

  src/tests/environment.cpp 2274251aaf653d83c2d03ef2186763978067a747 

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


Testing
---

make check


Thanks,

Timothy Chen



[RESULT][VOTE] Release Apache Mesos 0.20.1 (rc3)

2014-09-22 Thread Adam Bordelon
Hi all,

The vote for Mesos 0.20.1 (rc3) has passed with the following votes.

+1 (Binding)
--
*** Vinod Kone
*** Till Toenshoff
*** Niklas Nielsen
*** Jie Yu

+1 (Non-binding)
--
*** Tim Chen
*** Tom Arnfeld

There were no 0 or -1 votes.

Please find the release at:
https://dist.apache.org/repos/dist/release/mesos/0.20.1

It is recommended to use a mirror to download the release:
http://www.apache.org/dyn/closer.cgi

The CHANGELOG for the release is available at:
https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=0.20.1

The mesos-0.20.1.jar has been released to:
https://repository.apache.org

The website (http://mesos.apache.org) will be updated shortly to reflect
this release.

Thanks,
-Adam-