> On Dec. 11, 2015, 7 p.m., Jojy Varghese wrote: > > src/slave/containerizer/mesos/provisioner/docker/puller.cpp, line 117 > > <https://reviews.apache.org/r/41235/diff/1/?file=1159660#file1159660line117> > > > > If the future is not expected to be ready when we reach here, should we > > do a .then on it instead of expecting it to be ready and returning failure? > > Jie Yu wrote: > How do you use a .then here? > > The main issue with the original code is that we start io::read after the > process has finished. This is potentially problematic because the subprocess > might write a lot of stuff to stderr and be blocked due to the fact that the > pipe is full. We have to start the read early, instead of waiting for the > subprocess to terminate first. > > Jojy Varghese wrote: > Since the read future is not guaranteed to be ready by the time we reach > here, i was thinking that we should add a continuation to that future to read > the output when its ready (or for any event). Isnt it? Also, if the pipe is > waiting to be flushed, then dont we have to retry read in a loop?
> Since the read future is not guaranteed to be ready by the time we reach here It will be in one of the following state once 'await' finished: READY, FAILED, DISCARDED. Why do you need a then here? io::read continuesly and asynchrously read from stderr and will stop if EOF is reached or some error occured. 'await' won't become ready if io::read hasn't finished. - Jie ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/41235/#review109986 ----------------------------------------------------------- On Dec. 11, 2015, 7:51 p.m., Jie Yu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/41235/ > ----------------------------------------------------------- > > (Updated Dec. 11, 2015, 7:51 p.m.) > > > Review request for mesos, Ben Mahler, Gilbert Song, Jojy Varghese, and > Timothy Chen. > > > Repository: mesos > > > Description > ------- > > Cleaned up the untar method in docker puller. > > The extra promise is not needed. > > > Diffs > ----- > > src/slave/containerizer/mesos/provisioner/docker/puller.cpp > 4aa4a9c4074d96c30c3bceea59d071feeecae2ea > > Diff: https://reviews.apache.org/r/41235/diff/ > > > Testing > ------- > > make check > > > Thanks, > > Jie Yu > >