Alexey Serbin 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();
            :   }
> Ah, it seems I misread the docs regarding SSL_write() and SSL_MODE_ACCEPT_M
Correction: actually, there is a restriction on the length for the follow-up 
write: it should not be less than the length specified when SSL_write() 
returned SSL_ERROR_WANT_WRITE, as seen from ssl/s3_pkt.c:

    if ((s->s3->wpend_tot > (int)len)         
        || ((s->s3->wpend_buf != buf) &&
            !(s->mode & SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER))
        || (s->s3->wpend_type != type)) {
        SSLerr(SSL_F_SSL3_WRITE_PENDING, SSL_R_BAD_WRITE_RETRY);
        return (-1);
    } 

And specifying SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER would not help here.



--
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:48:08 +0000
Gerrit-HasComments: Yes

Reply via email to