diff --git a/.github/actions/prepare-for-docker-build/action.yml b/.github/actions/prepare-for-docker-build/action.yml
index d14cdca7dfd..26d8c80d509 100644
--- a/.github/actions/prepare-for-docker-build/action.yml
+++ b/.github/actions/prepare-for-docker-build/action.yml
@@ -30,11 +30,11 @@ runs:
sudo apt-get update
sudo apt-get install -y unixodbc-dev python3-venv librdkafka-dev gcc libsasl2-dev build-essential libssl-dev libffi-dev \
librdkafka-dev unixodbc-dev libevent-dev wkhtmltopdf libkrb5-dev jq
- - name: Set up JDK 17
+ - name: Set up JDK 21
if: inputs.is_ingestion == 'false'
uses: actions/setup-java@v4
with:
- java-version: 17
+ java-version: 21
distribution: 'temurin'
- name: Install antlr cli
diff --git a/.github/actions/setup-openmetadata-test-environment/action.yml b/.github/actions/setup-openmetadata-test-environment/action.yml
index f484ff5a158..1a13b097d74 100644
--- a/.github/actions/setup-openmetadata-test-environment/action.yml
+++ b/.github/actions/setup-openmetadata-test-environment/action.yml
@@ -26,10 +26,10 @@ runs:
# ------------------------------------------------------------------------------
# ---- Setup Java --------------------------------------------------------------
- - name: Setup JDK 17
+ - name: Setup JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
# ------------------------------------------------------------------------------
diff --git a/.github/workflows/airflow-apis-tests.yml b/.github/workflows/airflow-apis-tests.yml
index c0174ff11fb..cb0662d4986 100644
--- a/.github/workflows/airflow-apis-tests.yml
+++ b/.github/workflows/airflow-apis-tests.yml
@@ -62,10 +62,10 @@ jobs:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Set up Python 3.10
diff --git a/.github/workflows/docker-openmetadata-server.yml b/.github/workflows/docker-openmetadata-server.yml
index 5955f4a8b5e..945d584b68b 100644
--- a/.github/workflows/docker-openmetadata-server.yml
+++ b/.github/workflows/docker-openmetadata-server.yml
@@ -27,10 +27,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: 17
+ java-version: 21
distribution: 'temurin'
- name: Install antlr cli
diff --git a/.github/workflows/java-checkstyle.yml b/.github/workflows/java-checkstyle.yml
index da6d753414f..5513fdc35ec 100644
--- a/.github/workflows/java-checkstyle.yml
+++ b/.github/workflows/java-checkstyle.yml
@@ -67,10 +67,10 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha }}
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Run checkstyle
diff --git a/.github/workflows/maven-build.yml b/.github/workflows/maven-build.yml
index 79207e78ae5..f7a25aadfa0 100644
--- a/.github/workflows/maven-build.yml
+++ b/.github/workflows/maven-build.yml
@@ -84,11 +84,11 @@ jobs:
restore-keys: |
${{ runner.os }}-maven-
- - name: Set up JDK 17
+ - name: Set up JDK 21
if: steps.cache-output.outputs.exit-code == 0
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Install Ubuntu dependencies
diff --git a/.github/workflows/maven-postgres-tests-build.yml b/.github/workflows/maven-postgres-tests-build.yml
index 76e9408639b..c4c2d6482a4 100644
--- a/.github/workflows/maven-postgres-tests-build.yml
+++ b/.github/workflows/maven-postgres-tests-build.yml
@@ -83,11 +83,11 @@ jobs:
restore-keys: |
${{ runner.os }}-maven-
- - name: Set up JDK 17
+ - name: Set up JDK 21
if: steps.cache-output.outputs.exit-code == 0
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Install Ubuntu dependencies
diff --git a/.github/workflows/maven-sonar-build.yml b/.github/workflows/maven-sonar-build.yml
index ff06693ef13..4509938da6d 100644
--- a/.github/workflows/maven-sonar-build.yml
+++ b/.github/workflows/maven-sonar-build.yml
@@ -70,11 +70,11 @@ jobs:
restore-keys: |
${{ runner.os }}-maven-
- - name: Set up JDK 17
+ - name: Set up JDK 21
if: steps.cache-output.outputs.exit-code == 0
uses: actions/setup-java@v4
with:
- java-version: "17"
+ java-version: "21"
distribution: "temurin"
- name: Install Ubuntu dependencies
diff --git a/.github/workflows/publish-maven-package.yml b/.github/workflows/publish-maven-package.yml
index 02e92be065b..5583a7f69b5 100644
--- a/.github/workflows/publish-maven-package.yml
+++ b/.github/workflows/publish-maven-package.yml
@@ -43,10 +43,10 @@ jobs:
swap-storage: true
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: 17
+ java-version: 21
distribution: "temurin"
server-id: ossrh
server-username: MAVEN_USERNAME
diff --git a/.github/workflows/py-nox-ci.yml b/.github/workflows/py-nox-ci.yml
index c3801d420c4..0fb0a3584e0 100644
--- a/.github/workflows/py-nox-ci.yml
+++ b/.github/workflows/py-nox-ci.yml
@@ -31,10 +31,10 @@ jobs:
sudo apt-get update
sudo apt-get install -y libkrb5-dev build-essential
- - name: Setup JDK 17
+ - name: Setup JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Generate Python Data Models
diff --git a/.github/workflows/security-scan.yml b/.github/workflows/security-scan.yml
index dfe6fc1e3c4..306f11c4361 100644
--- a/.github/workflows/security-scan.yml
+++ b/.github/workflows/security-scan.yml
@@ -41,10 +41,10 @@ jobs:
with:
python-version: 3.9
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Install Ubuntu dependencies
diff --git a/.github/workflows/selenium-noIngestion-tests.yml b/.github/workflows/selenium-noIngestion-tests.yml
index ccaa8918f61..f14f4c790a1 100644
--- a/.github/workflows/selenium-noIngestion-tests.yml
+++ b/.github/workflows/selenium-noIngestion-tests.yml
@@ -46,10 +46,10 @@ jobs:
docker-images: true
swap-storage: true
- uses: actions/checkout@v4
- - name: Set up JDK 17
+ - name: Set up JDK 21
uses: actions/setup-java@v4
with:
- java-version: '17'
+ java-version: '21'
distribution: 'temurin'
- name: Generating Data Models
diff --git a/bin/openmetadata-server-start.sh b/bin/openmetadata-server-start.sh
index 34237f7d94b..b4ff868a717 100644
--- a/bin/openmetadata-server-start.sh
+++ b/bin/openmetadata-server-start.sh
@@ -96,21 +96,16 @@ if [ "x$OPENMETADATA_DEBUG" != "x" ]; then
OPENMETADATA_OPTS="$JAVA_DEBUG_OPTS $OPENMETADATA_OPTS"
fi
-# GC options
+# GC options for Java 21
GC_LOG_FILE_NAME='openmetadata-gc.log'
if [ -z "$OPENMETADATA_GC_LOG_OPTS" ]; then
- JAVA_MAJOR_VERSION=$($JAVA -version 2>&1 | sed -E -n 's/.* version "([0-9]*).*$/\1/p')
- if [[ "$JAVA_MAJOR_VERSION" -ge "9" ]] ; then
- OPENMETADATA_GC_LOG_OPTS="-Xlog:gc*:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,tags:filecount=10,filesize=102400"
- else
- OPENMETADATA_GC_LOG_OPTS="-Xloggc:$LOG_DIR/$GC_LOG_FILE_NAME -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
- fi
+ OPENMETADATA_GC_LOG_OPTS="-Xlog:gc*,gc+heap=info,gc+ergo=debug:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,level,tags:filecount=10,filesize=102400"
fi
-# JVM performance options
+# JVM performance options optimized for Java 21
if [ -z "$OPENMETADATA_JVM_PERFORMANCE_OPTS" ]; then
- OPENMETADATA_JVM_PERFORMANCE_OPTS="-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true"
+ OPENMETADATA_JVM_PERFORMANCE_OPTS="-server -XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -XX:+UseLargePages -XX:+OptimizeStringConcat -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -Djava.awt.headless=true"
fi
#Application classname
diff --git a/docker/development/Dockerfile b/docker/development/Dockerfile
index 68535876503..4b77b240341 100644
--- a/docker/development/Dockerfile
+++ b/docker/development/Dockerfile
@@ -26,7 +26,7 @@ EXPOSE 8585
RUN adduser -D openmetadata && \
apk update && \
apk upgrade && \
- apk add --update --no-cache bash openjdk17-jre
+ apk add --update --no-cache bash openjdk21-jre
COPY --chown=openmetadata:openmetadata --from=build /opt/openmetadata /opt/openmetadata
COPY --chmod=755 docker/openmetadata-start.sh /
diff --git a/docker/docker-compose-quickstart/Dockerfile b/docker/docker-compose-quickstart/Dockerfile
index 4a2f0991ab6..29fb8e225f2 100644
--- a/docker/docker-compose-quickstart/Dockerfile
+++ b/docker/docker-compose-quickstart/Dockerfile
@@ -37,7 +37,7 @@ LABEL org.open-metadata.commit-id=$COMMIT_ID
EXPOSE 8585 8586
RUN adduser -D openmetadata && apk update && \
apk upgrade && \
- apk add --update --no-cache bash openjdk17-jre
+ apk add --update --no-cache bash openjdk21-jre
COPY --chown=openmetadata:openmetadata --from=build /opt/openmetadata /opt/openmetadata
COPY --chmod=755 docker/openmetadata-start.sh ./
diff --git a/openmetadata-clients/openmetadata-java-client/pom.xml b/openmetadata-clients/openmetadata-java-client/pom.xml
index 006eb18a5a9..549d7f05a9f 100644
--- a/openmetadata-clients/openmetadata-java-client/pom.xml
+++ b/openmetadata-clients/openmetadata-java-client/pom.xml
@@ -11,7 +11,7 @@
openmetadata-java-client
- 17
+ 21
${java.version}
${java.version}
2.7.0
diff --git a/openmetadata-clients/pom.xml b/openmetadata-clients/pom.xml
index a6e588d1549..d0b82131174 100644
--- a/openmetadata-clients/pom.xml
+++ b/openmetadata-clients/pom.xml
@@ -15,8 +15,8 @@
openmetadata-java-client
- 17
- 17
+ 21
+ 21
diff --git a/openmetadata-spec/pom.xml b/openmetadata-spec/pom.xml
index 2fcd61943aa..a37d249d7f8 100644
--- a/openmetadata-spec/pom.xml
+++ b/openmetadata-spec/pom.xml
@@ -12,8 +12,8 @@
openmetadata-spec
- 17
- 17
+ 21
+ 21
2.0.12-1
3.6.0
3.3.1
diff --git a/pom.xml b/pom.xml
index 3bd80084a4e..5c2493c46e9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -915,8 +915,8 @@
maven-compiler-plugin
3.13.0
- 17
- 17
+ 21
+ 21
org.projectlombok