Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.0.0
-
None
-
None
-
None
Description
Today the container logger prepares the stdout/stderr for the executor but the not the fetcher. The fetcher creates separate files (location hardcoded, with O_TRUNC!) for its own stdout/stderr. The fetcher also does a recursive chown (which has unintended side-effects and is being fixed in MESOS-5218) but it is not even executed if the task doesn't fetch anything (e.g., with a command executor). As a result by the time the executor needs to write to its stdout/stderr, the files may belong to the task user or the agent user and its by coincidence it doesn't fail more widely.
The fetcher should use the stderr/stdout prepared by the container logger and the container logger should be responsible for making it writable by the task user.
Attachments
Issue Links
- is related to
-
MESOS-5218 Fetcher should not chown the entire sandbox.
- Resolved
-
MESOS-5856 Logrotate ContainerLogger module does not rotate logs when run as root with `--switch_user`.
- Resolved
-
MESOS-6843 Fetcher should not assume stdout/stderr in the sandbox.
- Accepted