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


Thanks for taking on this API change Jason, they can be a bit of a pain to 
flush out fully but we're pretty close here!

A few things of note:

1. What is the required upgrade order here? From my observation:
  -> Slaves must be upgraded first (in order to correctly receive the new 
'argv' style tasks).
  -> Masters and Schedulers have no upgrade order required.
   
   We'll need to keep track of this somewhere (0.17.0 JIRA or docs/Upgrades.md) 
so that users know how to upgrade safely (this will land in 0.17.0).

2. I'd like us to make the initial step to moving 'value' to optional, by 
modifying the scheduler driver to set 'value' to an empty string when 'command' 
is set. This would eliminate the need for frameworks to set 'value' to an empty 
string in a subsequent release.


include/mesos/mesos.proto
<https://reviews.apache.org/r/15542/#comment60973>

    Can you s/uri/URI/ in this comment?



include/mesos/mesos.proto
<https://reviews.apache.org/r/15542/#comment60974>

    We handle other file extensions as well, we should update this comment to 
reflect all of the extensions we handle.



include/mesos/mesos.proto
<https://reviews.apache.org/r/15542/#comment60967>

    s/bytes/string on these two
    
    The resulting 'executor.command.command.command' is a bit unfortunate, do 
you foresee other fields in Command?
    
    If not, let's just directly embed it in CommandInfo:
    
    message CommandInfo {
      // Setting value is equivalent to:
      //   command = 'sh'
      //   arguments = ['-c', value]
      //
      // Deprecated, please use 'command' and 'arguments' instead.
      required string value = 3;
    
      optional string command = 4;
      repeated string arguments = 5;
    }
    
    It seems that this makes the API a bit cleaner to use, how does this sound?



include/mesos/mesos.proto
<https://reviews.apache.org/r/15542/#comment60961>

    We should try to move this to an optional field to make the semantics more 
clear to frameworks, but we'll need to go through a few release cycles to do 
this.
    
    We would have compatibility issues if we were to move this to optional 
immediately, since messages originating from an upgraded framework will not be 
parseable my the Master / Slave.
    
    1. As a first step, let's modify sched.cpp to set 'value' to an empty 
string when 'command' is set. This will ensure that when upgrading to a 
subsequent release, all messages coming from the scheduler driver will have the 
field set.
    
    2. Subsequently, and let's leave TODOs for this, we'll be able to move this 
safely to an optional field.
    
    Removing it entirely would be a bit trickier, since it's a breaking API 
change, I would recommend linking a ticket into MESOS-810 to capture this 
dependency. Sound good?


- Ben Mahler


On Jan. 17, 2014, 5:54 a.m., Jason Dusek wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/15542/
> -----------------------------------------------------------
> 
> (Updated Jan. 17, 2014, 5:54 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, Ben Mahler, and Niklas Nielsen.
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Offer an execvp like interface for running tasks.
> 
> Review: https://reviews.apache.org/r/15542
> 
> 
> Diffs
> -----
> 
>   include/mesos/mesos.proto 655f86757487ddbe551fdcf53eb793e773ecdd34 
>   src/examples/python/test_framework.py 
> deca48e779ae099424fa73bb9a8ac5c419c5faf1 
>   src/launcher/executor.cpp b73ab479500a7347a38ba53acecfab9229f1080d 
>   src/launcher/launcher.cpp d5ab66704429a95eeb8eda5188e33d8e691221af 
>   src/launcher/main.cpp de64609905ee63096c0173fe7e64a1eafea5d6bf 
>   src/slave/process_isolator.cpp 0bc698f04f7c8eaad166dc9d646e13310129dd01 
> 
> Diff: https://reviews.apache.org/r/15542/diff/
> 
> 
> Testing
> -------
> 
> Ran Python test executor and `make check`.
> 
> 
> Thanks,
> 
> Jason Dusek
> 
>

Reply via email to