Hello Quanlong Huang, Laszlo Gaal, Joe McDonnell, Impala Public Jenkins,

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

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

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

Change subject: IMPALA-11941: Support Java 17 in Impala
......................................................................

IMPALA-11941: Support Java 17 in Impala

Enables building for Java 17 - and particularly using Java 17 in
containers - but won't run a minicluster fully with Java 17 as some
projects (Hadoop) don't yet support it.

Starting with Java 15, ehcache.sizeof encounters
UnsupportedOperationException: can't get field offset on a hidden class
in class members pointing to capturing lambda functions. Java 17 also
introduces new modules that need to be added to add-opens. Both of these
pose problems for continued use of ehcache.

https://github.com/jbellis/jamm is an alternative that was previously
explored that now supports Java 17. A release is expected soon
(https://github.com/jbellis/jamm/issues/44); for now we add and build it
as an external project.

Adds JAVA_HOME/lib/server to LD_LIBRARY_PATH in run-jvm-binary to
simplify switching between JDK versions for testing. You can now
- export IMPALA_JDK_VERSION=11
- source bin/impala-config.sh
- start-impala-cluster.py
and have Impala running a different JDK (11) version.

Retains a few add-opens calls that are still necessary due to
dependencies' use of lambdas. Add-opens are still required as a
fallback, as noted in
https://github.com/jbellis/jamm#object-graph-crawling. We catch the
exception jamm throws - CannotAccessFieldException - to avoid crashing
Impala, and add it to the list of banned log messages (as we should
add-opens when we find them).

Testing:
- container test run with Java 11 and 17 (excludes custom cluster)
- manual custom_cluster/test_local_catalog.py +
  test_banned_log_messages.py run with Java 11 and 17 (Java 8 build)
- full Java 11 build (passed except IMPALA-12184)

Change-Id: Ic378896f572e030a3a019646a96a32a07866a737
---
M be/src/common/init.cc
M bin/impala-config-java.sh
M bin/impala-config.sh
M bin/jenkins/dockerized-impala-bootstrap-and-test.sh
M bin/jenkins/dockerized-impala-run-tests.sh
M bin/rat_exclude_files.txt
M bin/run-all-tests.sh
M bin/run-jvm-binary.sh
M bin/start-impala-cluster.py
M docker/CMakeLists.txt
M docker/daemon_entrypoint.sh
M fe/pom.xml
M fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java
A java/.gitignore
M java/CMakeLists.txt
A java/toolchains.xml.tmpl
M tests/verifiers/test_banned_log_messages.py
17 files changed, 177 insertions(+), 109 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/63/19863/22
--
To view, visit http://gerrit.cloudera.org:8080/19863
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Ic378896f572e030a3a019646a96a32a07866a737
Gerrit-Change-Number: 19863
Gerrit-PatchSet: 22
Gerrit-Owner: Michael Smith <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Laszlo Gaal <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>

Reply via email to