----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/71666/#review218610 -----------------------------------------------------------
Notes from an offline review session: 3rdparty/libprocess/src/ssl/socket_wrapper.cpp Lines 464-465 (patched) <https://reviews.apache.org/r/71666/#comment306402> Consider adding UPIDs to spread the load (of SSL encryption/decryption) off the event loop thread. Because `io::read` and `io::write` always complete on the event loop thread, the continuations from these loops will also run on the event loop thread. In practice, this means all the SSL encryption/decryption happens in the same thread. There is no benefit to forcing everything onto the same thread, as OpenSSL is threadsafe (some caveats on older versions though). 3rdparty/libprocess/src/ssl/socket_wrapper.cpp Lines 657-663 (patched) <https://reviews.apache.org/r/71666/#comment306401> Consider not blocking, but instead just trying to send the shutdown bits once. - Joseph Wu On Nov. 11, 2019, 11:41 a.m., Joseph Wu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/71666/ > ----------------------------------------------------------- > > (Updated Nov. 11, 2019, 11:41 a.m.) > > > Review request for mesos, Benno Evers, Benjamin Mahler, Greg Mann, and Till > Toenshoff. > > > Bugs: MESOS-10010 > https://issues.apache.org/jira/browse/MESOS-10010 > > > Repository: mesos > > > Description > ------- > > This completes a fully functional client-side SSL socket. > > Needs a bit of cleanup and more error handling though. > > > Diffs > ----- > > 3rdparty/libprocess/src/ssl/socket_wrapper.hpp PRE-CREATION > 3rdparty/libprocess/src/ssl/socket_wrapper.cpp PRE-CREATION > > > Diff: https://reviews.apache.org/r/71666/diff/5/ > > > Testing > ------- > > ``` > cmake --build . --target libprocess-tests > libprocess-tests > ``` > > Running libprocess-tests yields: > ``` > [ FAILED ] SSLTest.ValidDowngrade > [ FAILED ] SSLTest.ValidDowngradeEachProtocol > [ FAILED ] Encryption/NetSocketTest.EOFBeforeRecv/0, where GetParam() = > "SSL" > [ FAILED ] Encryption/NetSocketTest.EOFAfterRecv/0, where GetParam() = "SSL" > ``` > > > Thanks, > > Joseph Wu > >
