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

Reply via email to