Sailesh Mukil has posted comments on this change. ( http://gerrit.cloudera.org:8080/8570 )
Change subject: WIP: tls_socket: properly handle temporary socket errors in Writev ...................................................................... Patch Set 1: (1 comment) http://gerrit.cloudera.org:8080/#/c/8570/1/src/kudu/security/tls_socket.cc File src/kudu/security/tls_socket.cc: http://gerrit.cloudera.org:8080/#/c/8570/1/src/kudu/security/tls_socket.cc@99 PS1, Line 99: if (total_written > 0 && Socket::IsTemporarySocketError(write_status.posix_code())) { : return Status::OK(); : } > Does this really help? It would get the same parameters, wouldn't it? If there is a vector with 2 frames of 10 bytes each, Writev() would call Write() twice with a different buffer: Write(buf, 10, ...); // succeeds Write(buf+10, 10, ...); // fails If the second call fails with 'SSL_ERROR_WANT_WRITE', we go back up to the caller with Status::OK() and 10 bytes written. The caller would retry Writev() with 'buf+10' as the new offset, so SSL_write() would see the same offset as it last tried with. -- To view, visit http://gerrit.cloudera.org:8080/8570 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: If797f220f42bfb2e6f452b66f15e7a758e883472 Gerrit-Change-Number: 8570 Gerrit-PatchSet: 1 Gerrit-Owner: Todd Lipcon <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Sailesh Mukil <[email protected]> Gerrit-Comment-Date: Thu, 16 Nov 2017 19:17:37 +0000 Gerrit-HasComments: Yes
