This is an automated email from the ASF dual-hosted git repository.
yao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new a23b16a93 [KYUUBI #5729] Use G1GC as Java option example in kyuubi-env
template
a23b16a93 is described below
commit a23b16a93f447895a37add0c51bfefd8e22e7d0a
Author: Bowen Liang <[email protected]>
AuthorDate: Wed Nov 22 15:44:14 2023 +0800
[KYUUBI #5729] Use G1GC as Java option example in kyuubi-env template
# :mag: Description
## Issue References ๐
As described.
## Describe Your Solution ๐ง
G1 garbage collector is supported in Java 8+ and has become the default
garbage collector in Java 17+.
Use G1GC to simplify JVM options example in kyuubi-env for KYUUBI_JAVA_OPTS
and KYUUBI_BEELINE_OPTS, and for better production deployment usage of higher
Java version users out of box.
- use G1 for garbage collector
- Remove CMS and ParNew related options
- Use UseGCOverheadLimit option
- Use UseStringDeduplication option for G1GC
- Reorder options in resources, GC mechanism, GC printing/logging
## Types of changes :bookmark:
- [ ] Bugfix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
#### Behavior Without This Pull Request :coffin:
No behavior change.
#### Behavior With This Pull Request :tada:
Uncomment the template and use the suggested default JVM options for
starting Kyuubi server.
<img width="1235" alt="image"
src="https://github.com/apache/kyuubi/assets/1935105/73df3579-a6a8-48a5-8ea5-3fd7a54ae71b">
#### Related Unit Tests
CI test. Tested starting Kyuubi server locally.
---
# Checklists
## ๐ Author Self Checklist
- [x] My code follows the [style
guidelines](https://kyuubi.readthedocs.io/en/master/contributing/code/style.html)
of this project
- [x] I have performed a self-review
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature
works
- [ ] New and existing unit tests pass locally with my changes
- [x] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
## ๐ Committer Pre-Merge Checklist
- [x] Pull request title is okay.
- [x] No license issues.
- [x] Milestone correctly set?
- [x] Test coverage is ok
- [x] Assignees are selected.
- [x] Minimum number of approvals
- [x] No changes are requested
**Be nice. Be informative.**
Closes #5729 from bowenliang123/javaopts-useg1.
Closes #5729
ad7bdc1f9 [Bowen Liang] add UseStringDeduplication option
fb2ac5d63 [Bowen Liang] nit
73a687d10 [Bowen Liang] increase GCLogFileSize
5c21ff923 [Bowen Liang] use g1gc in KYUUBI_JAVA_OPTS example of kyuubi-env
template
Authored-by: Bowen Liang <[email protected]>
Signed-off-by: Kent Yao <[email protected]>
---
conf/kyuubi-env.sh.template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/conf/kyuubi-env.sh.template b/conf/kyuubi-env.sh.template
index 2b7be6fc8..2d89d3a54 100755
--- a/conf/kyuubi-env.sh.template
+++ b/conf/kyuubi-env.sh.template
@@ -64,5 +64,5 @@
# export
HIVE_HADOOP_CLASSPATH=${HADOOP_HOME}/share/hadoop/common/lib/commons-collections-3.2.2.jar:${HADOOP_HOME}/share/hadoop/client/hadoop-client-runtime-3.1.0.jar:${HADOOP_HOME}/share/hadoop/client/hadoop-client-api-3.1.0.jar:${HADOOP_HOME}/share/hadoop/common/lib/htrace-core4-4.1.0-incubating.jar
# export HADOOP_CONF_DIR=/usr/ndp/current/mapreduce_client/conf
# export YARN_CONF_DIR=/usr/ndp/current/yarn/conf
-# export KYUUBI_JAVA_OPTS="-Xmx10g -XX:+UnlockDiagnosticVMOptions
-XX:ParGCCardsPerStrideChunk=4096 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark
-XX:MaxDirectMemorySize=1024m -XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=./logs -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps
-XX:+PrintTenuringDistribut [...]
-# export KYUUBI_BEELINE_OPTS="-Xmx2g -XX:+UnlockDiagnosticVMOptions
-XX:ParGCCardsPerStrideChunk=4096 -XX:+UseParNewGC -XX:+UseConcMarkSweepGC
-XX:+CMSConcurrentMTEnabled -XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled
-XX:+CMSParallelRemarkEnabled -XX:+UseCondCardMark"
+# export KYUUBI_JAVA_OPTS="-Xmx10g -XX:MaxMetaspaceSize=512m
-XX:MaxDirectMemorySize=1024m -XX:+UseG1GC -XX:+UseStringDeduplication
-XX:+UnlockDiagnosticVMOptions -XX:+UseCondCardMark -XX:+UseGCOverheadLimit
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs -XX:+PrintGCDetails
-XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -verbose:gc
-Xloggc:./logs/kyuubi-server-gc-%t.log -XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=20M"
+# export KYUUBI_BEELINE_OPTS="-Xmx2g -XX:+UseG1GC
-XX:+UnlockDiagnosticVMOptions -XX:+UseCondCardMark"