Hello Marton Greber, Kudu Jenkins, Abhishek Chennaka,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/23222

to look at the new patch set (#4).

Change subject: KUDU-3635 call OPENSSL_cleanup() explicitly
......................................................................

KUDU-3635 call OPENSSL_cleanup() explicitly

With this changelist, the global state of the OpenSSL library is now
explicitly cleaned up when shutting down a process.  The rationale
for this is outlined in [1].

This is applicable to the OpenSSL library of version 1.1.1 and newer,
and covers all the contemporary Linux distributions at the time
of writing, and this works even at ancient Ubuntu 18.04.1 LTS.

As for testing, I verified that the issue is gone after seeing its
manifestation with the frequency of about 1 in 10 runs of the kudu CLI
tool with RELEASE bits on RHEL9.2 x86_64 without the patch.
I ran the following before and after this changelist:

  ./bin/kudu-tool-test --gtest_repeat=100

Without the patch, I'd see many kudu's CLI core files after completion
of every 100 repetition run, where core files had stack trace similar
to the one described in the JIRA item.  With this patch, not a single
crash has been observed and no core files have been generated after
a full run of 100 repetitions of the test.  Yes, KUDU-2439 isn't
resolved yet and it's still possible to have the kudu CLI crashing
because, e.g., of late destruction of Messenger::tls_context_ field,
but the chances of such a crash now are much lower with this changelist.

[1] 
https://developers.redhat.com/articles/2022/10/31/best-practices-application-shutdown-openssl

Change-Id: Ib08310d66a7eabb1996bde901f39f36f54bff483
---
M src/kudu/master/master_main.cc
M src/kudu/tools/tool_main.cc
M src/kudu/tserver/tablet_server_main.cc
A src/kudu/util/before_and_after_main.h
A src/kudu/util/entry_exit_wrapper.h
M src/kudu/util/openssl_util.cc
M src/kudu/util/openssl_util.h
M src/kudu/util/process_memory.cc
M src/kudu/util/test_main.cc
M thirdparty/build-definitions.sh
10 files changed, 292 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/22/23222/4
--
To view, visit http://gerrit.cloudera.org:8080/23222
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ib08310d66a7eabb1996bde901f39f36f54bff483
Gerrit-Change-Number: 23222
Gerrit-PatchSet: 4
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Abhishek Chennaka <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Marton Greber <[email protected]>

Reply via email to