----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/68232/#review208558 -----------------------------------------------------------
Fix it, then Ship it! src/slave/containerizer/mesos/io/switchboard.cpp Line 1225 (original), 1225 (patched) <https://reviews.apache.org/r/68232/#comment292594> ... set `redirectFinished` promise which triggers a callback... src/slave/containerizer/mesos/io/switchboard.cpp Line 1227 (original), 1227 (patched) <https://reviews.apache.org/r/68232/#comment292595> .. the EOF message. src/slave/containerizer/mesos/io/switchboard.cpp Lines 1707-1708 (patched) <https://reviews.apache.org/r/68232/#comment292598> ``` // // TODO(abudnik): Ideally we would have used `process::select()` to capture a transition into a terminal state for any of `{readLoop, redirectFinished}`. However, `select()` select currently does not capture a future that has failed. Another alternative would be to allow `promise::associate()` to accept multiple source futures. ``` src/slave/containerizer/mesos/io/switchboard.cpp Lines 1710 (patched) <https://reviews.apache.org/r/68232/#comment292596> [promise] - Alexander Rukletsov On Aug. 31, 2018, 11:48 a.m., Andrei Budnik wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/68232/ > ----------------------------------------------------------- > > (Updated Aug. 31, 2018, 11:48 a.m.) > > > Review request for mesos, Alexander Rukletsov, Benjamin Mahler, Gilbert Song, > and Qian Zhang. > > > Bugs: MESOS-9131 > https://issues.apache.org/jira/browse/MESOS-9131 > > > Repository: mesos > > > Description > ------- > > Previously, when a corresponding nested container terminated, while the > user was attached to the container's stdin via `ATTACH_CONTAINER_INPUT` > IOSwitchboard didn't terminate immediately. IOSwitchboard was waiting > for EOF message from the input HTTP connection. Since the IOSwitchboard > was stuck, the corresponding nested container was also stuck in > `DESTROYING` state. > > This patch fixes the aforementioned issue by sending 200 `OK` response > for `ATTACH_CONTAINER_INPUT` call in the case when io redirect is > finished while reading from the HTTP input connection is not. > > > Diffs > ----- > > src/slave/containerizer/mesos/io/switchboard.cpp > 52b0e521ed1c651c90b3a3df7c4df576288bf400 > > > Diff: https://reviews.apache.org/r/68232/diff/8/ > > > Testing > ------- > > 1. internal Mesosphere CI > 2. sudo make check (Fedora 25) > > This test fixes `LaunchNestedContainerSessionKillTask` test, which can be > found in the first patch of this patch chain. > > > Thanks, > > Andrei Budnik > >