Hello Dan Burkert, Kudu Jenkins, I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/8599 to review the following change. Change subject: [security] test and fixes for TLS socket EINTR issues ...................................................................... [security] test and fixes for TLS socket EINTR issues SSL_{read,write}() can return SSL_ERROR_WANT_{READ,WRITE} correspondingly when signal interrupts recv()/send() calls even if SSL_MODE_AUTO_RETRY is set in the TLS context. To handle that properly in Socket::Blocking{Recv,Write}() methods, return NetworkError() with appropriate POSIX error code from TlsSocket::{Recv,Write}(). As a by-product, this changelist fixes flakiness in TestUniqueClientIds scenario of the ClientStressTest test and other flaky tests which failed with errors like below: Bad status: IO error: Could not connect to the cluster: \ Client connection negotiation failed: client connection to \ IP:port: Read zero bytes on a blocking Recv() call: \ Transferred 0 of 4 bytes Prior to this fix, the test failure ratio observed with dist-test for TSAN builds was about 6% in multiple 1K runs. After the fix, no failures observed. Change-Id: Ibec9049186f79f1c43295e4735538ed7ba4e516e Reviewed-on: http://gerrit.cloudera.org:8080/8462 Tested-by: Kudu Jenkins Reviewed-by: Dan Burkert <danburk...@apache.org> Reviewed-by: Alexey Serbin <aser...@cloudera.com> (cherry picked from commit 18e024cf8bcaea192efb63780802cc4c799bbb9c) --- M src/kudu/security/CMakeLists.txt M src/kudu/security/tls_handshake.cc A src/kudu/security/tls_socket-test.cc M src/kudu/security/tls_socket.cc M src/kudu/util/net/socket.cc 5 files changed, 227 insertions(+), 7 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/99/8599/1 -- To view, visit http://gerrit.cloudera.org:8080/8599 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.3.x Gerrit-MessageType: newchange Gerrit-Change-Id: Ibec9049186f79f1c43295e4735538ed7ba4e516e Gerrit-Change-Number: 8599 Gerrit-PatchSet: 1 Gerrit-Owner: Alexey Serbin <aser...@cloudera.com> Gerrit-Reviewer: Dan Burkert <danburk...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <t...@apache.org>