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/07/21 19:25:12 UTC

[kudu-CR] KUDU-3374 Add build support for M1 and macOS Monterey

Marton Greber has uploaded this change for review. ( http://gerrit.cloudera.org:8080/18770


Change subject: KUDU-3374 Add build support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add build support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 349 insertions(+), 709 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/1
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 1
Gerrit-Owner: Marton Greber <gr...@gmail.com>

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Zoltan Chovan, Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] The
homebrew prefix is changed from /usr/local to /opt/homebrew on ARM macs.
In places where package locations are provided, an ARM alternative
location has been added. Added a patch [6] to fix null pointer
dereference in rapidjson. Added another patch [7] containing assertions
to a similar suppress clang warnings in rapidjson. Building tests in
glog has to be turned off [8] as it causes linker error in tsan build.
With the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN races
came up with LLVM regexes, added those to the sanitizer suppression
list.

[1] Change-Id: https://gerrit.cloudera.org/#/c/18460/
[2] Change-Id: https://gerrit.cloudera.org/#/c/18461/
[3] Change-Id: https://gerrit.cloudera.org/#/c/18464/
[4] Change-Id: https://gerrit.cloudera.org/#/c/16768/
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
45 files changed, 279 insertions(+), 705 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/13
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 13
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/7
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 7
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/5
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 5
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed a vote on this change.

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 11
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/8
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 8
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Zoltan Chovan, Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] The
homebrew prefix is changed from /usr/local to /opt/homebrew on ARM macs.
In places where package locations are provided, an ARM alternative
location has been added. Added a patch [6] to fix null pointer
dereference in rapidjson. Added another patch [7] containing assertions
to a similar suppress clang warnings in rapidjson. Building tests in
glog has to be turned off [8] as it causes linker error in tsan build.
With the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN races
came up with LLVM regexes, added those to the sanitizer suppression
list.

[1] Change-Id: https://gerrit.cloudera.org/#/c/18460/
[2] Change-Id: https://gerrit.cloudera.org/#/c/18461/
[3] Change-Id: https://gerrit.cloudera.org/#/c/18464/
[4] Change-Id: https://gerrit.cloudera.org/#/c/16768/
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
45 files changed, 291 insertions(+), 707 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/14
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 14
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 13: Code-Review+1

(8 comments)

overall looks good to me, just a few nits

http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt
File CMakeLists.txt:

http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt@168
PS11, Line 168: 
> Fixed: Previously I couldn't get kudu to build with glog 0.6.0 and gcc. The
Thank you for the clarification!


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/security/test/mini_kdc.cc
File src/kudu/security/test/mini_kdc.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/security/test/mini_kdc.cc@108
PS11, Line 108: arm
> Homebrew uses different install prefix on intel than on arm macs. On intel 
Indeed, it seems they changes the location.  It seems they just realized that /opt is a better one once they started working on arm port just recently, and they still use /usr/local just for backward compatibility on Intel-based macs.  I guess homebrew is influenced and borrows some stuff from MacPorts, and vice-versa: in recent versions, MacPorts installs its stuff under /opt/local :)


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/tablet/concurrent_btree.h
File src/kudu/tablet/concurrent_btree.h:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/tablet/concurrent_btree.h@96
PS11, Line 96:     for (int i = 0; i < size; i += CACHELINE_SIZE) {
> Without the if check, during sanitizer builds, the following error is prese
Heh, that might be pointing to a real issue, IIUC.  It seems there is a programming error: something about calling PrefetchMemory() on a nullptr.  I'd suggest adding DCHECK() here and moving the 'if()' condition out of this method to the corresponding call sites, so PrefetchMemory() wouldn't be called with nullptr.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/async_logger.h
File src/kudu/util/async_logger.h:

PS11: 
> The upper level google::base::Logger Write api changed. We must include it 
Ah, indeed -- I missed that the Write() method overrides one from google::base::Logger's API.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-definitions.sh
File thirdparty/build-definitions.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-definitions.sh@741
PS11, Line 741:     --disable-pop3
> Fix: In the previous revision, to get a successful build on arm macs, in re
All right, thanks for the explanation.


http://gerrit.cloudera.org:8080/#/c/18770/13/thirdparty/build-definitions.sh
File thirdparty/build-definitions.sh:

http://gerrit.cloudera.org:8080/#/c/18770/13/thirdparty/build-definitions.sh@438
PS13, Line 438:    
nit: wrong indent?


http://gerrit.cloudera.org:8080/#/c/18770/13/thirdparty/build-definitions.sh@453
PS13, Line 453:      -DCMAKE_CXX_FLAGS="$EXTRA_CXXFLAGS -I$PREFIX/include" \
              :      -DCMAKE_EXE_LINKER_FLAGS="$EXTRA_LDFLAGS $EXTRA_LIBS -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib" \
              :      -DCMAKE_MODULE_LINKER_FLAGS="$EXTRA_LDFLAGS $EXTRA_LIBS -L$PREFIX/lib -Wl,-rpath,$PREFIX/lib" \
              :      
nit: wrong indent ?


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-thirdparty.sh
File thirdparty/build-thirdparty.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-thirdparty.sh@183
PS11, Line 183:     for homebrew_openssl_dir in "${homebrew_openssl_dirs[@]}"; do
              :       if [ -d $homebrew_openssl_dir ]; then
              :         OPENSSL_CFLAGS="-I$homebrew_openssl_dir/include"
              :         OPENSSL_LDFLAGS="-L$homebrew_openssl_dir/lib"
              :       fi
> This is only a macos related change, linux variant is unchanged.
Yes, I understand that it's macOS-specific.  I just noticed that maybe we may need to cleanup this piece a bit since I know that OPENSSL_XXXFLAGS and the actual process of finding OpenSSL to build, say, curl are sort of independent, and I recently hit that issue on my mac laptop.

Anyways, that's not a concern in this patch, and addressing those concerns should be separated into its own changelist.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 13
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Wed, 03 Aug 2022 19:17:14 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Marton Greber has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 11:

> > Build Successful
 > >
 > > http://jenkins.kudu.apache.org/job/kudu-gerrit/26132/ : SUCCESS
 > 
 > 
 > Upstream infra seems a little bit stochastic when updating a big
 > chunk of third-party libs. On Jul 22 2:45 PM I got a successful
 > build. Then I had to update a nit, and a new build was initiated.
 > Then a big failure streak started. Unique, previously not seen
 > failures happened. Interestingly, each consecutive build, had a new
 > failure, while the previous failure not being present. The solution
 > is probably to do a jenkins workspace cleaning. As I did not have
 > the appropriate rights to do so, I just spammed new builds, until I
 > got successful build.

I have tested the above changes on M1 mac with the following setup:

Xcode 13.1
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH"
export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)"

Without the openssl pkg config export, JWT cant find openssl.
Without the SDKROOT export, KuduLinker.cmake fails to identify linker.

Could other ARM mac users please take a look, whether building goes smoothly?
Could somebody please check out the above changes on an Intel mac?


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 11
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Sat, 23 Jul 2022 08:32:20 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 2
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/6
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 6
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/3
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 3
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/9
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 9
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] The
homebrew prefix is changed from /usr/local to /opt/homebrew on ARM macs.
In places where package locations are provided, an ARM alternative
location has been added. Added a patch [6] to fix null pointer
dereference in rapidjson. Added another patch [7] containing assertions
to a similar suppress clang warnings in rapidjson. Building tests in
glog has to be turned off [8] as it causes linker error in tsan build.
With the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN races
came up with LLVM regexes, added those to the sanitizer suppression
list.

[1] Change-Id: https://gerrit.cloudera.org/#/c/18460/
[2] Change-Id: https://gerrit.cloudera.org/#/c/18461/
[3] Change-Id: https://gerrit.cloudera.org/#/c/18464/
[4] Change-Id: https://gerrit.cloudera.org/#/c/16768/
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Reviewed-on: http://gerrit.cloudera.org:8080/18770
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <al...@apache.org>
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
45 files changed, 291 insertions(+), 707 deletions(-)

Approvals:
  Kudu Jenkins: Verified
  Alexey Serbin: Looks good to me, approved

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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 15
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 11: Verified+1

unrelated test failure in DeleteTabletITest.TestLeaderElectionDuringDeleteTablet


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 11
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Wed, 27 Jul 2022 22:45:10 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 11:

(25 comments)

http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@26
PS11, Line 26: consisted
consistent ?


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@30
PS11, Line 30: Added a patch to fix null pointer dereference in rapidjson.
             : [6] 
how about:
  Added a patch [6] to fix null pointer dereference in rapidjson.


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@32
PS11, Line 32: fix
drop 'fix' ?


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@31
PS11, Line 31: Added another patch containing assertions to a similar issue, to
             : fix suppress clang warnings in rapidjson. [7]
How about:

  Added another patch [7] containing ...


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@32
PS11, Line 32: Building tests in glog
             : has to be turned off as it causes linker error in tsan build. [8]
How about:

  Building tests in glog has to be turned off [8] as it causes ...


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@36
PS11, Line 36: race
races


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@43
PS11, Line 43: [1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
             : [2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
             : [3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
             : [4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
Could you change this to the corresponding gerrit review links?


http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt
File CMakeLists.txt:

http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt@168
PS11, Line 168: should be compiled with clang built in thirdparty directory
Why?  What has changed in this patch so that now we explicitly use LLVM instead of system compiler to build Kudu?


http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt@170
PS11, Line 170: Because that is the process for building llvm/clang as well.
I'm not sure I understand the reasoning here.  Could you please rephrases this, maybe?


http://gerrit.cloudera.org:8080/#/c/18770/11/cmake_modules/FindGLog.cmake
File cmake_modules/FindGLog.cmake:

http://gerrit.cloudera.org:8080/#/c/18770/11/cmake_modules/FindGLog.cmake@31
PS11, Line 31: if (APPLE)
             :   set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")
             : else()
             :   set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
             : endif()
Could you add a comment explaining why to override the default settings for CMAKE_FIND_LIBRARY_SUFFIXES here?


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/common/row_operations-test.cc
File src/kudu/common/row_operations-test.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/common/row_operations-test.cc@302
PS11, Line 302: reinterpret_cast
Could this be static_cast<> here as well similar to line 330?


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/security/test/mini_kdc.cc
File src/kudu/security/test/mini_kdc.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/security/test/mini_kdc.cc@108
PS11, Line 108: arm
Is it indeed something related to the architecture, not the version of homebrew?


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/server/diagnostics_log.cc
File src/kudu/server/diagnostics_log.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/server/diagnostics_log.cc@21
PS11, Line 21: 
nit: remove the extra empty line


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/tablet/concurrent_btree.h
File src/kudu/tablet/concurrent_btree.h:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/tablet/concurrent_btree.h@96
PS11, Line 96:     if (addr) {
Isn't it a programming error if this addr is nullptr?  If so, maybe add DCHECK() instead?


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/async_logger.h
File src/kudu/util/async_logger.h:

PS11: 
Could you separate this and the corresponding changes in async_logger.cc into its own changelist, please?


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/logging.h
File src/kudu/util/logging.h:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/logging.h@21
PS11, Line 21: 
nit: remove the extra line


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.h
File src/kudu/util/pstack_watcher.h:

PS11: 
Could you separate changes in this and in the corresponding cc file this into its own changelist?


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.cc
File src/kudu/util/pstack_watcher.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.cc@20
PS11, Line 20: #include <cerrno>
nit: move this into the C++ headers section


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.cc@170
PS11, Line 170:           
nit: wrong indent


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-definitions.sh
File thirdparty/build-definitions.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-definitions.sh@741
PS11, Line 741:     --with-openssl
Why is this needed?  IIRC, this flag is needed to specify custom location of the OpenSSL root directory, and curl is configured with OpenSSL support by default.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-thirdparty.sh
File thirdparty/build-thirdparty.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-thirdparty.sh@183
PS11, Line 183:     for homebrew_openssl_dir in "${homebrew_openssl_dirs[@]}"; do
              :       if [ -d $homebrew_openssl_dir ]; then
              :         OPENSSL_CFLAGS="-I$homebrew_openssl_dir/include"
              :         OPENSSL_LDFLAGS="-L$homebrew_openssl_dir/lib"
              :       fi
What if both directories are present?  Is the end result deterministic?

Also, what if curl config picks up some other directory for OpenSSL during its auto-detection process?  These flags and the auto-detection of OpenSSL are independent, IIRC.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/download-thirdparty.sh
File thirdparty/download-thirdparty.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/download-thirdparty.sh@a310
PS11, Line 310: 
I didn't see this file removed among the list of updated files.

Also, why to remove it?  Is the new version of curl correctly handles the situation with multiple OpenSSL versions present?


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/download-thirdparty.sh@173
PS11, Line 173: 0
Why 0?  Usually, this stands for the number of patches applied.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/preflight.py
File thirdparty/preflight.py:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/preflight.py@141
PS11, Line 141:     homebrew_openssl_dirs=["/usr/local/opt/openssl/include", "/opt/homebrew/opt/openssl@1.1/include"]
              :     for homebrew_openssl_dir in homebrew_openssl_dirs:
              :       if os.path.isdir(homebrew_openssl_dir):
If this a part of curl-related changes?  If so, could you separate this into the corresponding separate changelist?


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/vars.sh
File thirdparty/vars.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/vars.sh@125
PS11, Line 125: CURL_VERSION=7.80.0
Why to upgrade curl as well?  Could you move this into its own separate changelist?



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 11
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Wed, 27 Jul 2022 23:56:38 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Marton Greber has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 13:

(24 comments)

http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@26
PS11, Line 26: location 
> consistent ?
Done


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@30
PS11, Line 30: ng upgrade it now links against libatomic in TSAN builds. In
             : dist
> how about:
Done


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@32
PS11, Line 32: was
> drop 'fix' ?
Done


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@32
PS11, Line 32: f new TSAN races
             : came up with LLVM regexes, added those to the sanitizer suppressi
> How about:
Done


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@36
PS11, Line 36: 
> races
Done


http://gerrit.cloudera.org:8080/#/c/18770/11//COMMIT_MSG@43
PS11, Line 43: [7] https://github.com/Tencent/rapidjson/pull/757
             : [8] https://github.com/google/glog/issues/54
             : 
             : Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
> Could you change this to the corresponding gerrit review links?
Done


http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt
File CMakeLists.txt:

http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt@168
PS11, Line 168: 
> Why?  What has changed in this patch so that now we explicitly use LLVM ins
Fixed: Previously I couldn't get kudu to build with glog 0.6.0 and gcc. The reason has been identified. The build definition for glog had missing linker flags. In the new patch revision, the glog linker flags are fixed. This code section is removed.


http://gerrit.cloudera.org:8080/#/c/18770/11/CMakeLists.txt@170
PS11, Line 170: Compiler flags
> I'm not sure I understand the reasoning here.  Could you please rephrases t
Fixed: Removed this piece of code.


http://gerrit.cloudera.org:8080/#/c/18770/11/cmake_modules/FindGLog.cmake
File cmake_modules/FindGLog.cmake:

http://gerrit.cloudera.org:8080/#/c/18770/11/cmake_modules/FindGLog.cmake@31
PS11, Line 31:   NO_SYSTEM_ENVIRONMENT_PATH)
             : find_library(GLOG_STATIC_LIB libglog.a
             :   NO_CMAKE_SYSTEM_PATH
             :   NO_SYSTEM_ENVIRONMENT_PATH)
             : 
> Could you add a comment explaining why to override the default settings for
Fixed: Piece of code, which was experimental. In the end, it is not needed. I removed it.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/common/row_operations-test.cc
File src/kudu/common/row_operations-test.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/common/row_operations-test.cc@302
PS11, Line 302: reinterpret_cast
> Could this be static_cast<> here as well similar to line 330?
Fixed: gcc did not like the static_cast, so I changed both occurrences to reinterpret_cast. Thereby getting it to work with gcc and clang as well.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/security/test/mini_kdc.cc
File src/kudu/security/test/mini_kdc.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/security/test/mini_kdc.cc@108
PS11, Line 108: arm
> Is it indeed something related to the architecture, not the version of home
Homebrew uses different install prefix on intel than on arm macs. On intel it is /usr/local and on arm it is /opt/homebrew (https://docs.brew.sh/Installation). It is indeed architectural.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/server/diagnostics_log.cc
File src/kudu/server/diagnostics_log.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/server/diagnostics_log.cc@21
PS11, Line 21: #include <cstdint>
> nit: remove the extra empty line
Done


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/tablet/concurrent_btree.h
File src/kudu/tablet/concurrent_btree.h:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/tablet/concurrent_btree.h@96
PS11, Line 96:     for (int i = 0; i < size; i += CACHELINE_SIZE) {
> Isn't it a programming error if this addr is nullptr?  If so, maybe add DCH
Without the if check, during sanitizer builds, the following error is presented: "concurrent_btree.h:96:53: runtime error: applying non-zero offset 64 to null pointer".
I tried adding a DCHECK(), but the error stayed.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/async_logger.h
File src/kudu/util/async_logger.h:

PS11: 
> Could you separate this and the corresponding changes in async_logger.cc in
The upper level google::base::Logger Write api changed. We must include it in this change list to get a successful build.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/logging.h
File src/kudu/util/logging.h:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/logging.h@21
PS11, Line 21: #include <iosfwd>
> nit: remove the extra line
Done


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.h
File src/kudu/util/pstack_watcher.h:

PS11: 
> Could you separate changes in this and in the corresponding cc file this in
Removed pstach_watcher from this change list, as it is not essential.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.cc
File src/kudu/util/pstack_watcher.cc:

http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.cc@20
PS11, Line 20: #include <unistd.
> nit: move this into the C++ headers section
Removed pstack_watcher from this change list, as it is not essential.


http://gerrit.cloudera.org:8080/#/c/18770/11/src/kudu/util/pstack_watcher.cc@170
PS11, Line 170:     return
> nit: wrong indent
Removed pstack_watcher from this change list, as it is not essential.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-definitions.sh
File thirdparty/build-definitions.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-definitions.sh@741
PS11, Line 741:     --disable-pop3
> Why is this needed?  IIRC, this flag is needed to specify custom location o
Fix: In the previous revision, to get a successful build on arm macs, in release config, the curl upgrade was necessary. However as the compiler fix is introduced in this revision, we can use the system compiler as usual. Using the system compiler on arm mac (Xcode 13.1) resulted in successful release build, without the curl upgrade. Therefore I removed the curl upgrade from the change list.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-thirdparty.sh
File thirdparty/build-thirdparty.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/build-thirdparty.sh@183
PS11, Line 183:     for homebrew_openssl_dir in "${homebrew_openssl_dirs[@]}"; do
              :       if [ -d $homebrew_openssl_dir ]; then
              :         OPENSSL_CFLAGS="-I$homebrew_openssl_dir/include"
              :         OPENSSL_LDFLAGS="-L$homebrew_openssl_dir/lib"
              :       fi
> What if both directories are present?  Is the end result deterministic?
This is only a macos related change, linux variant is unchanged.
Homebrew uses different directories according to the mac architecture. It is /usr/local on intel and /opt/homebrew on arm macs (https://docs.brew.sh/Installation). Basically both directories shouldn't exist.
The above changes only account for the hombrew/mac architecture location. Existing logic is not changed.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/download-thirdparty.sh
File thirdparty/download-thirdparty.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/download-thirdparty.sh@a310
PS11, Line 310: 
> I didn't see this file removed among the list of updated files.
Fix: In the previous revision, to get a successful build on arm macs, in release config, the curl upgrade was necessary. However as the compiler fix is introduced in this revision, we can use the system compiler as usual. Using the system compiler on arm mac (Xcode 13.1) resulted in successful release build, without the curl upgrade. Therefore I removed the curl upgrade from the change list.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/download-thirdparty.sh@173
PS11, Line 173: 2
> Why 0?  Usually, this stands for the number of patches applied.
Fix: Good catch, changed it to reflect the number of actual patches.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/preflight.py
File thirdparty/preflight.py:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/preflight.py@141
PS11, Line 141:     homebrew_openssl_dirs=["/usr/local/opt/openssl/include", "/opt/homebrew/opt/openssl@1.1/include"]
              :     for homebrew_openssl_dir in homebrew_openssl_dirs:
              :       if os.path.isdir(homebrew_openssl_dir):
> If this a part of curl-related changes?  If so, could you separate this int
This change is not related to curl. This is only a macos related change, linux variant is unchanged(basically on linux we shouldn't hit the else branch as that contains hombrew related paths).
Homebrew uses different directories according to the mac architecture. It is /usr/local on intel and /opt/homebrew on arm macs (https://docs.brew.sh/Installation). Basically both directories shouldn't exist.
The above changes only account for the hombrew/mac architecture location. Existing logic is not changed.


http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/vars.sh
File thirdparty/vars.sh:

http://gerrit.cloudera.org:8080/#/c/18770/11/thirdparty/vars.sh@125
PS11, Line 125: CURL_VERSION=7.68.0
> Why to upgrade curl as well?  Could you move this into its own separate cha
Fix: In the previous revision, to get a successful build on arm macs, in release config, the curl upgrade was necessary. However as the compiler fix is introduced in this revision, we can use the system compiler as usual. Using the system compiler on arm mac (Xcode 13.1) resulted in successful release build, without the curl upgrade. Therefore I removed the curl upgrade from the change list.



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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 13
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Mon, 01 Aug 2022 17:12:57 +0000
Gerrit-HasComments: Yes

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 14: Code-Review+2


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 14
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Fri, 05 Aug 2022 01:08:18 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/10
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 10
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/11
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 11
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] Building
Kudu on different OS and compiler combinations resulted in various
errors. Using Clang from the new LLVM 11 thridparty build resulted in
consisted successful builds. Therefore the thirparty clang is used both
in the local cmake and the distributed test script. The homebrew prefix
is changed from /usr/local to /opt/homebrew on ARM macs. In places
where package locations are provided, and ARM alternative location has
been added. Added a patch to fix null pointer dereference in rapidjson.
[6] Added another patch containing assertions to a similar issue, to
fix suppress clang warnings in rapidjson. [7] Building tests in glog
has to be turned off as it causes linker error in tsan build. [8] With
the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN race occurences
came up with LLVM regexes, added those to the sanitizer suppression
list. pstack_watcher uses gdb, pstack or gstack to examine a process.
None of those are available on ARM macs. Added lldb support, to have a
fallback on ARM macs. Finally libcurl needed to be upgraded to 7.80 as
the old version gave symbol errors during release build on M1 mac.

[1] Change-Id: I21abd1749fdfdcde412f5a2ca2245c42da20d4f3
[2] Change-Id: Idc5721cb2445303b2e79d08b547e746929c7486d
[3] Change-Id: I029a858d2da77cea84e7e6856b8a5ac02713152d
[4] Change-Id: Id9c32abe256978158617a4fe3a3c34e9bfd00fb2
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M build-support/jenkins/build-and-test.sh
M cmake_modules/FindGLog.cmake
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/pstack_watcher.cc
M src/kudu/util/pstack_watcher.h
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
49 files changed, 352 insertions(+), 711 deletions(-)


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 4
Gerrit-Owner: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

[kudu-CR] KUDU-3374 Add support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Marton Greber has posted comments on this change. ( http://gerrit.cloudera.org:8080/18770 )

Change subject: KUDU-3374 Add support for M1 and macOS Monterey
......................................................................


Patch Set 11:

> Build Successful
 > 
 > http://jenkins.kudu.apache.org/job/kudu-gerrit/26132/ : SUCCESS


Upstream infra seems a little bit stochastic when updating a big chunk of third-party libs. On Jul 22 2:45 PM I got a successful build. Then I had to update a nit, and a new build was initiated. Then a big failure streak started. Unique, previously not seen failures happened. Interestingly, each consecutive build, had a new failure, while the previous failure not being present. The solution is probably to do a jenkins workspace cleaning. As I did not have the appropriate rights to do so, I just spammed new builds, until I got successful build.


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

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 11
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>
Gerrit-Comment-Date: Sat, 23 Jul 2022 08:28:47 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-3374 Add build support for M1 and macOS Monterey

Posted by "Marton Greber (Code Review)" <ge...@cloudera.org>.
Hello Tidy Bot, Zoltan Chovan, Alexey Serbin, Attila Bukor, Kudu Jenkins, 

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

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

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

Change subject: KUDU-3374 Add build support for M1 and macOS Monterey
......................................................................

KUDU-3374 Add build support for M1 and macOS Monterey

The macOS Monterey OS upgrade broke glog 0.3.5, moreover building Kudu
with LLVM 9 on Apple silicon is not really feasible. There has been
multiple non-merged patches submitted to tackle these issues:
Upgrade glog to 0.6.0 [1]
Fix codegen build on MacOS Monterey [2]
Fix building on Apple M1 [3]
Upgrade to LLVM 11 and IWYU 0.15 [4]
This patch squashes all of the above and provides the necessary
glue changes.

LLVM is updated to version 11 and glog to version 0.6.0 to fix the
initial build issues. Building the glog tests has to be turned off as
it causes linker error in TSAN build. The optional ZLIB dependency in
LLVM-IWYU is removed as the original issue -mentioned in the comments-
has been resolved, and this caused build issues on Unix. [5] The
homebrew prefix is changed from /usr/local to /opt/homebrew on ARM macs.
In places where package locations are provided, an ARM alternative
location has been added. Added a patch [6] to fix null pointer
dereference in rapidjson. Added another patch [7] containing assertions
to a similar suppress clang warnings in rapidjson. Building tests in
glog has to be turned off [8] as it causes linker error in tsan build.
With the clang upgrade it now links against libatomic in TSAN builds. In
dist-test.py libatomic is added to the list of shipped libraries as it
was missing on the target machines. A couple of new TSAN races
came up with LLVM regexes, added those to the sanitizer suppression
list.

[1] Change-Id: https://gerrit.cloudera.org/#/c/18460/
[2] Change-Id: https://gerrit.cloudera.org/#/c/18461/
[3] Change-Id: https://gerrit.cloudera.org/#/c/18464/
[4] Change-Id: https://gerrit.cloudera.org/#/c/16768/
[5] https://github.com/include-what-you-use/include-what-you-use/
    issues/539
[6] https://github.com/Tencent/rapidjson/pull/727
[7] https://github.com/Tencent/rapidjson/pull/757
[8] https://github.com/google/glog/issues/54

Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
---
M CMakeLists.txt
M build-support/dist_test.py
M build-support/iwyu/mappings/glog.imp
M cmake_modules/FindKerberosPrograms.cmake
M src/kudu/codegen/CMakeLists.txt
M src/kudu/codegen/code_generator.cc
M src/kudu/codegen/module_builder.cc
M src/kudu/common/row_operations-test.cc
M src/kudu/fs/dir_util-test.cc
M src/kudu/gutil/atomicops-internals-macosx.h
M src/kudu/gutil/dynamic_annotations.c
M src/kudu/gutil/dynamic_annotations.h
M src/kudu/ranger/ranger_client.cc
M src/kudu/security/test/mini_kdc.cc
M src/kudu/server/diagnostics_log.cc
M src/kudu/server/pprof_path_handlers.cc
M src/kudu/tablet/concurrent_btree.h
M src/kudu/util/async_logger.cc
M src/kudu/util/async_logger.h
M src/kudu/util/debug-util.cc
M src/kudu/util/debug/trace_logging.h
M src/kudu/util/flags.cc
M src/kudu/util/logging-test.cc
M src/kudu/util/logging.cc
M src/kudu/util/logging.h
M src/kudu/util/logging_test_util.h
M src/kudu/util/minidump.cc
M src/kudu/util/rw_mutex-test.cc
M src/kudu/util/sanitizer_options.cc
M thirdparty/build-definitions.sh
M thirdparty/build-thirdparty.sh
M thirdparty/download-thirdparty.sh
M thirdparty/package-llvm.sh
D thirdparty/patches/glog-fix-symbolization.patch
D thirdparty/patches/glog-issue-198-fix-unused-warnings.patch
D thirdparty/patches/glog-issue-54-dont-build-tests.patch
A thirdparty/patches/glog-make-internals-visible.patch
M thirdparty/patches/glog-support-stacktrace-for-aarch64.patch
A thirdparty/patches/gmock-remove-unused-gunit-iwyu-pragma.patch
D thirdparty/patches/llvm-iwyu-include-picker.patch
D thirdparty/patches/llvm-iwyu-sized-deallocation.patch
A thirdparty/patches/rapidjson-assertions-for-clang-warnings.patch
A thirdparty/patches/rapidjson-avoid-pointer-arithmetic-on-null-pointer.patch
M thirdparty/preflight.py
M thirdparty/vars.sh
45 files changed, 279 insertions(+), 705 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/70/18770/12
-- 
To view, visit http://gerrit.cloudera.org:8080/18770
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I9877f95340b969308c317a6bac50665ff78e329e
Gerrit-Change-Number: 18770
Gerrit-PatchSet: 12
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: Marton Greber <gr...@gmail.com>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Zoltan Chovan <zc...@cloudera.com>