> On Jan. 13, 2016, 6:21 p.m., Daniel Pravat wrote:
> > src/slave/flags.cpp, line 196
> > <https://reviews.apache.org/r/42035/diff/2/?file=1186486#file1186486line196>
> >
> >     There is a reason why this change is so extensive. This block should be 
> > replaced with a reasonable default for switch_user in Windows and it should 
> > be enough.

Per our Slack discussion, we've decided this isn't a blocking issue.

The question was about why we would not compile this flag for Windows 
specifically, and why it is acceptable here, but not elsewhere in the codebase. 
The answer is that we already conditionally don't compile other Linux-specific 
features, so there is precedent in this code for not compiling features that 
don't exist on Windows. The reason we _need_ to do this (or something like it) 
because the POSIX notion of `chown` simply doesn't exist on Windows. So, the 
result is this patch. Specifically, we `#ifdef` out the parts of the code that 
would result in `chown` being called, which is very much inline with other 
parts of the same function that are conditionally compiled only on certain 
types of Linux.


- Alex


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


On Jan. 7, 2016, 9:47 p.m., Alex Clemmer wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42035/
> -----------------------------------------------------------
> 
> (Updated Jan. 7, 2016, 9:47 p.m.)
> 
> 
> Review request for mesos, Alex Naparu, Daniel Pravat, Artem Harutyunyan, Jie 
> Yu, and Joris Van Remoortere.
> 
> 
> Bugs: MESOS-4310
>     https://issues.apache.org/jira/browse/MESOS-4310
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> The Mesos agent provides a flag, `--[no-]switch_user`, which instructs
> the agent to run tasks as the user who submitted the task instead of the
> user that is running the agent process itself.
> 
> On POSIX, this requires the usual suspects (`su`, `chown`, and `chroot`,
> for example to do things like make sure the correct user owns the
> executor directory, and things like that.
> 
> On Windows, many of these operations have very different semantics. To
> use one example, to `chown` on Windows, you normally have to give
> *permission* for something to `chown` an object, and then that thing
> actually has to use that permission to `chown` it, on its own.
> 
> Clearly a semantic mismatch of this magnitude will require some work to
> formally bridge, and the result is that we will simply disable the
> functionality entirely on the Windows agent until we are prepared to go
> back and support it formally.
> 
> 
> Diffs
> -----
> 
>   docs/configuration.md fb6f6784e5d11850ba0bafaeafa3213a1038e6b4 
>   src/slave/flags.hpp 6857fde027fd57b4934cb43ddf435d12900e0b87 
>   src/slave/flags.cpp 19c2996c4572b992030f8824380f3979ced7e526 
>   src/slave/slave.cpp 90d0fecd2d83fd174134870a577ac59d79c0006f 
> 
> Diff: https://reviews.apache.org/r/42035/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Alex Clemmer
> 
>

Reply via email to