Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1901. Fix crash in concurrent OpenSSL usage
......................................................................


KUDU-1901. Fix crash in concurrent OpenSSL usage

This fixes a crash in which a TLSContext's SSL_CTX was being used by a
thread to accept a connection at the same time as its underlying
certificate was being changed.

A new unit test reproduced the error pretty reliably after looping for
10-20 seconds. With the new locking, it no longer produces.

I also built OpenSSL with TSAN locally and verified that, after the
change, the only races reported within OpenSSL were those where the code
mentions the possibility of benign races.

Change-Id: I578350ba6a492e6e3ef635e9294f25fc0dc9d125
Reviewed-on: http://gerrit.cloudera.org:8080/6187
Tested-by: Kudu Jenkins
Reviewed-by: Dan Burkert <[email protected]>
---
M src/kudu/security/tls_context.cc
M src/kudu/security/tls_context.h
M src/kudu/security/tls_handshake-test.cc
3 files changed, 86 insertions(+), 28 deletions(-)

Approvals:
  Dan Burkert: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/6187
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I578350ba6a492e6e3ef635e9294f25fc0dc9d125
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Todd Lipcon <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Dan Burkert <[email protected]>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Todd Lipcon <[email protected]>

Reply via email to