You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Joseph Wu <jo...@mesosphere.io> on 2016/01/08 19:28:30 UTC
Re: Review Request 42059: Updated ContainerLogger to use
Subprocess::IO type.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42059/
-----------------------------------------------------------
(Updated Jan. 8, 2016, 10:28 a.m.)
Review request for mesos, Benjamin Hindman and Artem Harutyunyan.
Changes
-------
Missed a period in the summary.
Summary (updated)
-----------------
Updated ContainerLogger to use Subprocess::IO type.
Repository: mesos
Description
-------
Update ContainerLogger to use Subprocess::IO type
Diffs
-----
include/mesos/slave/container_logger.hpp a2362070ead0afcef1e6c2ca784083ddb01ba51a
src/slave/containerizer/mesos/containerizer.cpp f3c370aeb331beb6202fd30cd0278877da0b42e0
Diff: https://reviews.apache.org/r/42059/diff/
Testing
-------
make check
Thanks,
Joseph Wu
Re: Review Request 42059: Updated ContainerLogger to use
Subprocess::IO type.
Posted by Joseph Wu <jo...@mesosphere.io>.
> On Jan. 13, 2016, 11:11 a.m., Benjamin Hindman wrote:
> > src/slave/containerizer/mesos/containerizer.cpp, lines 829-832
> > <https://reviews.apache.org/r/42059/diff/1/?file=1187114#file1187114line829>
> >
> > Subprocess::IO out = Subprocess::FD(STDOUT_FILENO);
> > Subprocess::IO err = Subprocess::FD(STDERR_FILENO);
> >
> > if (!local) {
> > out = subprocessInfo.out;
> > err = subprocessInfo.err;
> > }
I remember why I didn't do this before. Essentially, you would need to:
1) Change the field `process::Owned<process::Subprocess::IO> io;` to a public field. (Making this public also breaks the ContainerLogger's restrictions on the types of `Subprocess::IO`.)
2) Add this to the containerizer:
```
Owned<Subprocess::IO> out(new Subprocess::FD(STDOUT_FILENO));
Owned<Subprocess::IO> err(new Subprocess::FD(STDERR_FILENO));
if (!local) {
out.reset(subprocessInfo.out.io.release());
err.reset(subprocessInfo.err.io.release());
}
```
---
Addressing your original point (that `SubprocessInfo` non-obviously redirects to STDOUT_FILENO and STDERR_FILENO by default), I think it would be neater to add a NOTE here instead.
---
Note: Trying to use a flavor of the ternary, i.e.
```
(local ? Subprocess::FD(STDOUT_FILENO) : subprocessInfo.out)
```
Gives the compiler error:
"error: allocating an object of abstract class type 'Subprocess::IO'"
- Joseph
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42059/#review114254
-----------------------------------------------------------
On Jan. 13, 2016, 2:02 p.m., Joseph Wu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42059/
> -----------------------------------------------------------
>
> (Updated Jan. 13, 2016, 2:02 p.m.)
>
>
> Review request for mesos, Benjamin Hindman and Artem Harutyunyan.
>
>
> Bugs: MESOS-4136
> https://issues.apache.org/jira/browse/MESOS-4136
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Update ContainerLogger to use Subprocess::IO type
>
>
> Diffs
> -----
>
> include/mesos/slave/container_logger.hpp a2362070ead0afcef1e6c2ca784083ddb01ba51a
> src/slave/containerizer/mesos/containerizer.cpp f3c370aeb331beb6202fd30cd0278877da0b42e0
>
> Diff: https://reviews.apache.org/r/42059/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Joseph Wu
>
>
Re: Review Request 42059: Updated ContainerLogger to use
Subprocess::IO type.
Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42059/#review114254
-----------------------------------------------------------
Ship it!
src/slave/containerizer/mesos/containerizer.cpp (lines 829 - 832)
<https://reviews.apache.org/r/42059/#comment175057>
Subprocess::IO out = Subprocess::FD(STDOUT_FILENO);
Subprocess::IO err = Subprocess::FD(STDERR_FILENO);
if (!local) {
out = subprocessInfo.out;
err = subprocessInfo.err;
}
- Benjamin Hindman
On Jan. 8, 2016, 6:28 p.m., Joseph Wu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/42059/
> -----------------------------------------------------------
>
> (Updated Jan. 8, 2016, 6:28 p.m.)
>
>
> Review request for mesos, Benjamin Hindman and Artem Harutyunyan.
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Update ContainerLogger to use Subprocess::IO type
>
>
> Diffs
> -----
>
> include/mesos/slave/container_logger.hpp a2362070ead0afcef1e6c2ca784083ddb01ba51a
> src/slave/containerizer/mesos/containerizer.cpp f3c370aeb331beb6202fd30cd0278877da0b42e0
>
> Diff: https://reviews.apache.org/r/42059/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Joseph Wu
>
>
Re: Review Request 42059: Updated ContainerLogger to use
Subprocess::IO type.
Posted by Joseph Wu <jo...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42059/
-----------------------------------------------------------
(Updated Jan. 13, 2016, 2:02 p.m.)
Review request for mesos, Benjamin Hindman and Artem Harutyunyan.
Changes
-------
Change `operator` to return a `const`. Add comment in containerizer.
Bugs: MESOS-4136
https://issues.apache.org/jira/browse/MESOS-4136
Repository: mesos
Description
-------
Update ContainerLogger to use Subprocess::IO type
Diffs (updated)
-----
include/mesos/slave/container_logger.hpp a2362070ead0afcef1e6c2ca784083ddb01ba51a
src/slave/containerizer/mesos/containerizer.cpp f3c370aeb331beb6202fd30cd0278877da0b42e0
Diff: https://reviews.apache.org/r/42059/diff/
Testing
-------
make check
Thanks,
Joseph Wu