You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Marton Greber (Code Review)" <ge...@cloudera.org> on 2022/10/04 20:09:23 UTC

[kudu-CR] KUDU-3404 disable TLS in glog

Hello Zoltan Chovan, Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3404 disable TLS in glog
......................................................................

KUDU-3404 disable TLS in glog

Glog 0.4.0 introduced support for using thread local storage for its
buffer. This feature is controlled by the WITH_TLS CMake variable, and
it defaults to ON. [1] When Kudu upgraded to glog 0.6.0 as part of the
Apple Silicon (M Series) fixes [2], it increased the thread local
storage usage by >30000 bytes.

This is a problem for Impala, because Impala starts a JVM. There are
certain JVM threads (like the "reaper thread") that have very small
stacks (e.g. 32KB) and with glibc the TLS space is allocated at the
expense of stack space. [3] 30k of TLS usage leaves very little for the
reaper thread. There are a series of bugs where the Java reaper thread
hits a StackOverflowException because of high TLS usage. [4] This can
cause various symptoms including hangs.
To resolve Impala's problem, it would be useful to build
libkudu_client.so with glog's WITH_TLS=OFF.

[1] https://github.com/google/glog/commit/
    2df0ca34aa3000dadf76633ca700abf0bf50756d
[2] https://github.com/apache/kudu/commit/
    543e128d473f8f7836e605bba8cd6512fa918550
[3] https://sourceware.org/bugzilla/show_bug.cgi?id=11787
[4] JDK bugs: JDK-8217475, JDK-8225035

Change-Id: I6b2151f7355ebb6a9ea120e5aa675c81eb3842ab
---
M thirdparty/build-definitions.sh
1 file changed, 1 insertion(+), 0 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/89/19089/2
-- 
To view, visit http://gerrit.cloudera.org:8080/19089
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I6b2151f7355ebb6a9ea120e5aa675c81eb3842ab
Gerrit-Change-Number: 19089
Gerrit-PatchSet: 2
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>