This is an automated email from the ASF dual-hosted git repository. HTHou pushed a commit to branch codex/upgrade-jdk17-jakarta-dev-1.3 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 6eb98ccf252d250bf82f1bcec3ae5782c9297f42 Author: HTHou <[email protected]> AuthorDate: Thu Aug 20 14:29:13 2026 +0800 [To dev/1.3] Upgrade minimum JDK to 17 and migrate JavaX to Jakarta --- .github/workflows/compile-check.yml | 52 --------- .github/workflows/daily-it.yml | 2 +- .github/workflows/daily-ut.yml | 17 ++- .github/workflows/multi-language-client.yml | 15 +++ Jenkinsfile | 2 +- LICENSE-binary | 43 +++++--- README.md | 4 +- README_ZH.md | 4 +- example/jdbc/pom.xml | 4 +- example/pipe-count-point-processor/pom.xml | 4 +- example/pom.xml | 4 +- .../iotdb/it/env/cluster/config/MppBaseConfig.java | 3 +- .../cli/src/assembly/resources/sbin/start-cli.sh | 16 +-- iotdb-client/client-cpp/README.md | 5 +- iotdb-client/client-cpp/pom.xml | 8 +- iotdb-client/jdbc/README.md | 4 +- .../src/test/resources/iotdb-common.properties | 2 +- .../src/assembly/resources/conf/confignode-env.sh | 61 ++++------- .../assembly/resources/sbin/start-confignode.bat | 20 ++-- .../consensus/response/cq/ShowCQResp.java | 2 +- .../schema/ClusterSchemaQuotaStatistics.java | 2 +- .../mnode/container/ConfigMNodeContainer.java | 2 +- iotdb-core/consensus/pom.xml | 4 +- iotdb-core/datanode/pom.xml | 4 +- .../src/assembly/resources/conf/datanode-env.sh | 70 +++++------- .../src/assembly/resources/sbin/start-datanode.bat | 19 ++-- .../org/apache/iotdb/db/audit/AuditLogger.java | 2 +- .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 2 +- .../resource/memory/PipeDynamicMemoryBlock.java | 2 +- .../db/protocol/rest/filter/ApiOriginFilter.java | 15 +-- .../protocol/rest/filter/AuthorizationFilter.java | 36 ++++--- .../protocol/rest/filter/BasicSecurityContext.java | 2 +- .../rest/handler/AuthorizationHandler.java | 4 +- .../protocol/rest/handler/QueryRowLimitUtils.java | 2 +- .../db/protocol/rest/impl/PingApiServiceImpl.java | 4 +- .../protocol/rest/v1/handler/ExceptionHandler.java | 2 +- .../rest/v1/handler/QueryDataSetHandler.java | 2 +- .../rest/v1/impl/GrafanaApiServiceImpl.java | 4 +- .../protocol/rest/v1/impl/RestApiServiceImpl.java | 4 +- .../protocol/rest/v2/handler/ExceptionHandler.java | 2 +- .../protocol/rest/v2/handler/FastLastHandler.java | 2 +- .../rest/v2/handler/QueryDataSetHandler.java | 3 +- .../rest/v2/impl/GrafanaApiServiceImpl.java | 4 +- .../protocol/rest/v2/impl/RestApiServiceImpl.java | 4 +- .../execution/schedule/task/DriverTaskId.java | 2 +- .../plan/execution/config/ConfigExecution.java | 2 +- .../plan/expression/unary/InExpression.java | 2 +- .../metedata/read/LevelTimeSeriesCountNode.java | 2 +- .../node/metedata/read/TimeSeriesCountNode.java | 2 +- .../metedata/read/TimeSeriesSchemaScanNode.java | 2 +- .../logfile/FakeCRC32Deserializer.java | 3 +- .../schemaregion/logfile/SchemaLogReader.java | 2 +- .../mem/mnode/container/MemMNodeContainer.java | 2 +- .../mnode/container/CachedMNodeContainer.java | 3 +- .../view/visitor/TransformToExpressionVisitor.java | 2 +- .../org/apache/iotdb/db/service/RestService.java | 8 +- .../compaction/schedule/CompactionWorker.java | 2 +- .../rest/v1/handler/QueryDataSetHandlerTest.java | 2 +- .../rest/v2/handler/FastLastHandlerTest.java | 2 +- .../src/test/resources/iotdb-common.properties | 2 +- .../src/test/resources/iotdb-system.properties | 2 +- .../conf/iotdb-system.properties.template | 2 +- .../src/assembly/resources/sbin/health_check.bat | 4 +- .../src/assembly/resources/sbin/health_check.sh | 2 +- iotdb-protocol/openapi/pom.xml | 26 +++-- library-udf/pom.xml | 4 +- pom.xml | 119 +++++++++------------ 67 files changed, 303 insertions(+), 365 deletions(-) diff --git a/.github/workflows/compile-check.yml b/.github/workflows/compile-check.yml deleted file mode 100644 index b20e8edd999..00000000000 --- a/.github/workflows/compile-check.yml +++ /dev/null @@ -1,52 +0,0 @@ -# This workflow will compile IoTDB under jdk8 to check for compatibility issues - -name: Compile Check - -on: - push: - branches: - - master - - 'rel/1.*' - - 'rc/1.*' - paths-ignore: - - 'docs/**' - - 'site/**' - pull_request: - branches: - - master - - 'rel/1.*' - - 'rc/1.*' - paths-ignore: - - 'docs/**' - - 'site/**' - # allow manually run the action: - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 - MAVEN_ARGS: --batch-mode --no-transfer-progress - DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} - -jobs: - compile-check: - strategy: - fail-fast: false - matrix: - java: [8] - os: [ ubuntu-latest ] - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v4 - with: - distribution: liberica - java-version: ${{ matrix.java }} - - name: Compiler Test - shell: bash - run: | - mvn clean compile -P with-integration-tests -ntp diff --git a/.github/workflows/daily-it.yml b/.github/workflows/daily-it.yml index 3deeb4834c4..e429ca28258 100644 --- a/.github/workflows/daily-it.yml +++ b/.github/workflows/daily-it.yml @@ -20,7 +20,7 @@ jobs: fail-fast: false max-parallel: 20 matrix: - java: [ 8, 17 ] + java: [ 17 ] runs-on: [self-hosted, iotdb] # group: self-hosted # labels: iotdb diff --git a/.github/workflows/daily-ut.yml b/.github/workflows/daily-ut.yml index b8ff46ca24f..68165c62426 100644 --- a/.github/workflows/daily-ut.yml +++ b/.github/workflows/daily-ut.yml @@ -13,6 +13,7 @@ env: MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.http.retryHandler.class=standard -Dmaven.wagon.http.retryHandler.count=3 MAVEN_ARGS: --batch-mode --no-transfer-progress DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} + JDK_VERSION: 17 jobs: unit-test: @@ -20,25 +21,19 @@ jobs: fail-fast: false max-parallel: 15 matrix: - java: [ 8 ] - os: [ ubuntu-latest, windows-latest ] + os: [ ubuntu-latest, macos-latest, windows-latest ] it_task: [ 'others', 'datanode' ] - include: - - java: 17 - os: macos-latest - it_task: 'datanode' - - java: 17 - os: macos-latest - it_task: 'others' runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - - name: Set up JDK ${{ matrix.java }} + - name: Set up JDK ${{ env.JDK_VERSION }} uses: actions/setup-java@v4 with: distribution: corretto - java-version: ${{ matrix.java }} + java-version: ${{ env.JDK_VERSION }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Cache Maven packages uses: actions/cache@v4 with: diff --git a/.github/workflows/multi-language-client.yml b/.github/workflows/multi-language-client.yml index 65629ce12d0..4b6bd9deac4 100644 --- a/.github/workflows/multi-language-client.yml +++ b/.github/workflows/multi-language-client.yml @@ -51,6 +51,11 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: corretto + java-version: 17 - name: Install CPP Dependencies (Ubuntu) if: runner.os == 'Linux' shell: bash @@ -136,6 +141,11 @@ jobs: with: token: ${{secrets.GITHUB_TOKEN}} submodules: recursive + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: corretto + java-version: 17 - name: Cache Maven packages uses: actions/cache@v4 with: @@ -166,6 +176,11 @@ jobs: with: python-version: ${{ matrix.python }} - uses: actions/checkout@v4 + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: corretto + java-version: 17 - name: Cache Maven packages uses: actions/cache@v4 with: diff --git a/Jenkinsfile b/Jenkinsfile index db45da55e18..f6f659dc41b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,7 +34,7 @@ pipeline { tools { maven 'maven_3_latest' - jdk 'jdk_11_latest' + jdk 'jdk_17_latest' } options { diff --git a/LICENSE-binary b/LICENSE-binary index 6bcddb85554..d14c894798c 100644 --- a/LICENSE-binary +++ b/LICENSE-binary @@ -225,15 +225,24 @@ com.google.guava.guava:32.1.2-jre com.fasterxml.jackson.core:jackson-annotations:2.16.2 com.fasterxml.jackson.core:jackson-core:2.16.2 com.fasterxml.jackson.core:jackson-databind:2.16.2 -jakarta.inject:jakarta.inject:2.6.1 +com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-base:2.16.2 +com.fasterxml.jackson.jakarta.rs:jackson-jakarta-rs-json-provider:2.16.2 +com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations:2.16.2 +io.swagger.core.v3:swagger-annotations-jakarta:2.2.50 +io.swagger.core.v3:swagger-core-jakarta:2.2.50 +io.swagger.core.v3:swagger-integration-jakarta:2.2.50 +io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.50 +io.swagger.core.v3:swagger-models-jakarta:2.2.50 +jakarta.inject:jakarta.inject-api:2.0.1 at.yawk.lz4:lz4-java:1.10.0 com.github.ben-manes.caffeine:caffeine:2.9.3 -org.eclipse.jetty:jetty-http:9.4.58.v20250814 -org.eclipse.jetty:jetty-io:9.4.58.v20250814 -org.eclipse.jetty:jetty-security:9.4.58.v20250814 -org.eclipse.jetty:jetty-server:9.4.58.v20250814 -org.eclipse.jetty:jetty-servlet:9.4.58.v20250814 -org.eclipse.jetty:jetty-util:9.4.58.v20250814 +org.eclipse.jetty:jetty-http:12.0.36 +org.eclipse.jetty:jetty-io:12.0.36 +org.eclipse.jetty:jetty-security:12.0.36 +org.eclipse.jetty:jetty-server:12.0.36 +org.eclipse.jetty:jetty-session:12.0.36 +org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.36 +org.eclipse.jetty:jetty-util:12.0.36 com.google.code.findbugs:jsr305:3.0.2 com.librato.metrics:librato-java:2.1.0 org.apache.thrift:libthrift:0.23.0 @@ -261,7 +270,7 @@ io.airlift.airline:0.9 BSD 3-Clause ------------ -org.antlr:antlr-runtime:4.9.3 +org.antlr:antlr4-runtime:4.9.3 org.ow2.asm:asm:9.3 org.jline:jline:3.26.2 @@ -275,19 +284,29 @@ MIT License ------------ org.slf4j:slf4j-api:2.0.9 com.bugsnag:bugsnag:3.7.2 +io.github.classgraph:classgraph:4.8.184 EPL 1.0 ------------ com.h2database:h2-mvstore:2.1.212 -ch.qos.logback:logback-classic:1.3.15 -ch.qos.logback:logback-core:1.3.15 + + +EPL 2.0 +------------ +ch.qos.logback:logback-classic:1.5.34 +ch.qos.logback:logback-core:1.5.34 +jakarta.annotation:jakarta.annotation-api:3.0.0 +jakarta.servlet:jakarta.servlet-api:6.0.0 + +EDL 1.0 +------------ +jakarta.activation:jakarta.activation-api:2.1.0 +jakarta.xml.bind:jakarta.xml.bind-api:3.0.1 CDDL 1.1 ------------ -jakarta.annotation:jakarta.annotation-api:1.3.5 -jakarta.servlet:jakarta.servlet-api:4.0.4 javax.xml.bind:jaxb-api:2.4.0-b180725.0427 org.glassfish.jaxb:jaxb-runtime:2.3.6 diff --git a/README.md b/README.md index d219e4d9657..fcfb5aec08b 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@    - + [](https://iotdb.apache.org/) [](http://search.maven.org/#search|gav|1|g:"org.apache.iotdb") [](https://gitpod.io/#https://github.com/apache/iotdb) @@ -89,7 +89,7 @@ This short guide will walk you through the basic process of using IoTDB. For a m To use IoTDB, you need to have: -1. Java >= 1.8 (1.8, 11 to 17 are verified. Please make sure the environment path has been set accordingly). +1. Java >= 17 (17 to 25 are verified. Please make sure the environment path has been set accordingly). 2. Maven >= 3.6 (If you want to compile and install IoTDB from source code). 3. Set the max open files num as 65535 to avoid the "too many open files" error. 4. (Optional) Set the somaxconn as 65535 to avoid "connection reset" error when the system is under high load. diff --git a/README_ZH.md b/README_ZH.md index cf25fccd901..8995f93efe6 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -28,7 +28,7 @@    - + [](https://lgtm.com/projects/g/apache/iotdb/context:java) [](https://iotdb.apache.org/) [](http://search.maven.org/#search|gav|1|g:"org.apache.iotdb") @@ -86,7 +86,7 @@ IoTDB的主要特点如下: ## 环境准备 要使用IoTDB,您需要: -1. Java >= 1.8 (目前 1.8、11 到 17 已经被验证可用。请确保环变量境路径已正确设置)。 +1. Java >= 17 (目前 17 到 25 已经被验证可用。请确保环变量境路径已正确设置)。 2. Maven >= 3.6 (如果希望从源代码编译和安装IoTDB)。 3. 设置 max open files 为 65535,以避免"too many open files"错误。 4. (可选) 将 somaxconn 设置为 65535 以避免系统在高负载时出现 "connection reset" 错误。 diff --git a/example/jdbc/pom.xml b/example/jdbc/pom.xml index 08bfee7abdf..0fa4a500567 100644 --- a/example/jdbc/pom.xml +++ b/example/jdbc/pom.xml @@ -29,8 +29,8 @@ <artifactId>jdbc-example</artifactId> <name>IoTDB: Example: JDBC</name> <properties> - <maven.compiler.source>1.7</maven.compiler.source> - <maven.compiler.target>1.7</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> diff --git a/example/pipe-count-point-processor/pom.xml b/example/pipe-count-point-processor/pom.xml index 6e9e802bfad..766203552f2 100644 --- a/example/pipe-count-point-processor/pom.xml +++ b/example/pipe-count-point-processor/pom.xml @@ -29,8 +29,8 @@ <artifactId>pipe-count-point-processor-example</artifactId> <name>IoTDB: Example: Pipe: Count Point Processor</name> <properties> - <maven.compiler.source>8</maven.compiler.source> - <maven.compiler.target>8</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> diff --git a/example/pom.xml b/example/pom.xml index 562a6fbffab..4d0707ca9fc 100644 --- a/example/pom.xml +++ b/example/pom.xml @@ -49,8 +49,8 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> - <source>8</source> - <target>8</target> + <source>17</source> + <target>17</target> </configuration> </plugin> <plugin> diff --git a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/config/MppBaseConfig.java b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/config/MppBaseConfig.java index 975ae1a5682..e0758de70c9 100644 --- a/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/config/MppBaseConfig.java +++ b/integration-test/src/main/java/org/apache/iotdb/it/env/cluster/config/MppBaseConfig.java @@ -19,8 +19,9 @@ package org.apache.iotdb.it.env.cluster.config; +import jakarta.validation.constraints.NotNull; + import javax.annotation.Nullable; -import javax.validation.constraints.NotNull; import java.io.FileWriter; import java.io.IOException; diff --git a/iotdb-client/cli/src/assembly/resources/sbin/start-cli.sh b/iotdb-client/cli/src/assembly/resources/sbin/start-cli.sh index 0e5f7d92c88..df4377e3812 100755 --- a/iotdb-client/cli/src/assembly/resources/sbin/start-cli.sh +++ b/iotdb-client/cli/src/assembly/resources/sbin/start-cli.sh @@ -132,20 +132,24 @@ JVM_VERSION=${jvmver%_*} version_arr=(${JVM_VERSION//./ }) illegal_access_params="" -#GC log path has to be defined here because it needs to access IOTDB_HOME if [ "${version_arr[0]}" = "1" ] ; then - # Java 8 MAJOR_VERSION=${version_arr[1]} else - #JDK 11 and others MAJOR_VERSION=${version_arr[0]} - # Add argLine for Java 11 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) - illegal_access_params="$illegal_access_params --add-opens=java.base/java.lang=ALL-UNNAMED" fi +if [ "$MAJOR_VERSION" -lt 17 ] ; then + echo "IoTDB requires Java 17 or later." + exit 1 +fi + +# Add argLine for Java 17 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) +illegal_access_params="$illegal_access_params --add-opens=java.base/java.lang=ALL-UNNAMED" + +JVM_OPTS="-Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8" set -o noglob iotdb_cli_params="-Dlogback.configurationFile=${IOTDB_CLI_CONF}/logback-cli.xml" -exec "$JAVA" $iotdb_cli_params $illegal_access_params -cp "$CLASSPATH" "$MAIN_CLASS" $PARAMETERS +exec "$JAVA" $JVM_OPTS $iotdb_cli_params $illegal_access_params -cp "$CLASSPATH" "$MAIN_CLASS" $PARAMETERS exit $? diff --git a/iotdb-client/client-cpp/README.md b/iotdb-client/client-cpp/README.md index 1ce08dc560a..d24186e0f81 100644 --- a/iotdb-client/client-cpp/README.md +++ b/iotdb-client/client-cpp/README.md @@ -304,9 +304,8 @@ mvn -P with-cpp -pl iotdb-client/client-cpp spotless:check mvn -P with-cpp -pl iotdb-client/client-cpp spotless:apply ``` -On JDK 8 the C++ Spotless profile is skipped automatically (Spotless's -clang-format integration requires Spotless 2.44+, which itself requires -JDK 11+). +The C++ Spotless profile is registered on the repository baseline, JDK 17+. +Use JDK 17 or newer for `spotless:check` / `spotless:apply`. ## Package layout diff --git a/iotdb-client/client-cpp/pom.xml b/iotdb-client/client-cpp/pom.xml index 418ef22fdf6..750cbad4585 100644 --- a/iotdb-client/client-cpp/pom.xml +++ b/iotdb-client/client-cpp/pom.xml @@ -391,15 +391,11 @@ <build.tests>OFF</build.tests> </properties> </profile> - <!-- - Spotless <clangFormat> needs Spotless 2.44+; root POM downgrades to - 2.27.1 on JDK8 and cannot parse cpp config. Only register C++ rules - when JDK 11+. - --> + <!-- Spotless <clangFormat> needs Spotless 2.44+; only register C++ rules on the repository baseline, JDK 17+. --> <profile> <id>spotless-cpp</id> <activation> - <jdk>[11,)</jdk> + <jdk>[17,)</jdk> </activation> <build> <plugins> diff --git a/iotdb-client/jdbc/README.md b/iotdb-client/jdbc/README.md index 02e7e585b80..9d8c5409dfd 100644 --- a/iotdb-client/jdbc/README.md +++ b/iotdb-client/jdbc/README.md @@ -23,7 +23,7 @@ ## Dependencies -* JDK >= 1.8 +* JDK >= 17 * Maven >= 3.6 ## How to package only jdbc project @@ -269,4 +269,4 @@ Start a data source instance (supposed you have started IoTDB): jdbc:ds-create -dc org.apache.iotdb.jdbc.IoTDBDriver -u root -p root -url "jdbc:iotdb://127.0.0.1:6667/" IoTDB ``` Try query: -`jdbc:query IoTDB "select * from root"` \ No newline at end of file +`jdbc:query IoTDB "select * from root"` diff --git a/iotdb-client/session/src/test/resources/iotdb-common.properties b/iotdb-client/session/src/test/resources/iotdb-common.properties index ec9b6914ef8..5c2150a3789 100644 --- a/iotdb-client/session/src/test/resources/iotdb-common.properties +++ b/iotdb-client/session/src/test/resources/iotdb-common.properties @@ -31,7 +31,7 @@ enable_rest_service=true # The request rowLimit/row_limit value cannot exceed this limit. # rest_query_default_row_size_limit=10000 -# Whether to display rest service interface information through swagger. eg: http://ip:port/swagger.json +# Whether to display rest service interface information through OpenAPI. eg: http://ip:port/openapi.json # enable_swagger=false # is SSL enabled diff --git a/iotdb-core/confignode/src/assembly/resources/conf/confignode-env.sh b/iotdb-core/confignode/src/assembly/resources/conf/confignode-env.sh index 065f08dee35..7767f4bdbf5 100644 --- a/iotdb-core/confignode/src/assembly/resources/conf/confignode-env.sh +++ b/iotdb-core/confignode/src/assembly/resources/conf/confignode-env.sh @@ -201,53 +201,37 @@ fi java_ver_output=`"$JAVA" -version 2>&1` jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 'NR==1 {print $2}' | cut -d\- -f1` JVM_VERSION=${jvmver%_*} -JVM_PATCH_VERSION=${jvmver#*_} -if [ "$JVM_VERSION" \< "1.8" ] ; then - echo "IoTDB requires Java 8u92 or later." - exit 1; +version_arr=(${JVM_VERSION//./ }) +if [ "${version_arr[0]}" = "1" ] ; then + MAJOR_VERSION=${version_arr[1]} +else + MAJOR_VERSION=${version_arr[0]} fi -if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt 92 ] ; then - echo "IoTDB requires Java 8u92 or later." +if [ "$MAJOR_VERSION" -lt 17 ] ; then + echo "IoTDB requires Java 17 or later." exit 1; fi -version_arr=(${JVM_VERSION//./ }) - illegal_access_params="" #GC log path has to be defined here because it needs to access CONFIGNODE_HOME -if [ "${version_arr[0]}" = "1" ] ; then - # Java 8 - MAJOR_VERSION=${version_arr[1]} - echo "$CONFIGNODE_JMX_OPTS" | grep -q "^-[X]loggc" - if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line - # only add -Xlog:gc if it's not mentioned in jvm-server.options file - mkdir -p ${CONFIGNODE_HOME}/logs - if [ "$#" -ge "1" -a "$1" == "printgc" ]; then - CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -Xloggc:${CONFIGNODE_HOME}/logs/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M" - fi - fi -else - #JDK 11 and others - MAJOR_VERSION=${version_arr[0]} - # See description of https://bugs.openjdk.java.net/browse/JDK-8046148 for details about the syntax - # The following is the equivalent to -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M - echo "$CONFIGNODE_JMX_OPTS" | grep -q "^-[X]log:gc" - if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line - # only add -Xlog:gc if it's not mentioned in jvm-server.options file - mkdir -p ${CONFIGNODE_HOME}/logs - if [ "$#" -ge "1" -a "$1" == "printgc" ]; then - CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -Xlog:gc=info,heap*=info,age*=info,safepoint=info,promotion*=info:file=${CONFIGNODE_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760" - fi +# See description of https://bugs.openjdk.java.net/browse/JDK-8046148 for details about the syntax +# The following is the equivalent to -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M +echo "$CONFIGNODE_JMX_OPTS" | grep -q "^-[X]log:gc" +if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line + # only add -Xlog:gc if it's not mentioned in jvm-server.options file + mkdir -p ${CONFIGNODE_HOME}/logs + if [ "$#" -ge "1" -a "$1" == "printgc" ]; then + CONFIGNODE_JMX_OPTS="$CONFIGNODE_JMX_OPTS -Xlog:gc=info,heap*=info,age*=info,safepoint=info,promotion*=info:file=${CONFIGNODE_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760" fi - # Add argLine for Java 11 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) - illegal_access_params="$illegal_access_params --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.lang=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.util=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.nio=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.io=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.net=ALL-UNNAMED" fi +# Add argLine for Java 17 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) +illegal_access_params="$illegal_access_params --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.lang=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.util=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.nio=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.io=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.net=ALL-UNNAMED" calculate_memory_sizes @@ -310,4 +294,3 @@ IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:+CrashOnOutOfMemoryError" echo "ConfigNode on heap memory size = ${ON_HEAP_MEMORY}B, off heap memory size = ${OFF_HEAP_MEMORY}B" echo "If you want to change this configuration, please check conf/confignode-env.sh." - diff --git a/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat b/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat index 40c5869549e..c2ea82acebf 100644 --- a/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat +++ b/iotdb-core/confignode/src/assembly/resources/sbin/start-confignode.bat @@ -46,15 +46,15 @@ for /f tokens^=2-5^ delims^=.-_+^" %%j in ('java -fullversion 2^>^&1') do ( set JAVA_VERSION=%MAJOR_VERSION% -@REM we do not check jdk that version less than 1.8 because they are too stale... -IF "%JAVA_VERSION%" == "6" ( - echo IoTDB only supports jdk >= 8, please check your java version. - goto finally -) -IF "%JAVA_VERSION%" == "7" ( - echo IoTDB only supports jdk >= 8, please check your java version. - goto finally -) + @REM IoTDB requires JDK 17 or later. + IF "%JAVA_VERSION%" == "" ( + echo Failed to determine Java version. IoTDB only supports jdk ^>= 17, please check your java installation. + goto finally + ) + IF %JAVA_VERSION% LSS 17 ( + echo IoTDB only supports jdk ^>= 17, please check your java version. + goto finally + ) if "%OS%" == "Windows_NT" setlocal @@ -206,4 +206,4 @@ pause :finally @ENDLOCAL -pause \ No newline at end of file +pause diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java index f922888baed..52af4a78b7e 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/cq/ShowCQResp.java @@ -25,7 +25,7 @@ import org.apache.iotdb.confignode.rpc.thrift.TCQEntry; import org.apache.iotdb.confignode.rpc.thrift.TShowCQResp; import org.apache.iotdb.consensus.common.DataSet; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.Comparator; import java.util.List; diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaQuotaStatistics.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaQuotaStatistics.java index 8d87d5b2715..b99fa62f869 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaQuotaStatistics.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/schema/ClusterSchemaQuotaStatistics.java @@ -18,7 +18,7 @@ */ package org.apache.iotdb.confignode.manager.schema; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.Map; import java.util.Set; diff --git a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/container/ConfigMNodeContainer.java b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/container/ConfigMNodeContainer.java index 72012ba84c2..32926b02c1f 100644 --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/container/ConfigMNodeContainer.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/schema/mnode/container/ConfigMNodeContainer.java @@ -21,7 +21,7 @@ package org.apache.iotdb.confignode.persistence.schema.mnode.container; import org.apache.iotdb.commons.schema.node.utils.IMNodeContainer; import org.apache.iotdb.confignode.persistence.schema.mnode.IConfigMNode; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.AbstractMap; import java.util.Collection; diff --git a/iotdb-core/consensus/pom.xml b/iotdb-core/consensus/pom.xml index 90ec92c0024..f5892d729b9 100644 --- a/iotdb-core/consensus/pom.xml +++ b/iotdb-core/consensus/pom.xml @@ -32,8 +32,8 @@ <consensus.it.skip>${consensus.test.skip}</consensus.it.skip> <consensus.test.skip>false</consensus.test.skip> <consensus.ut.skip>${consensus.test.skip}</consensus.ut.skip> - <maven.compiler.source>8</maven.compiler.source> - <maven.compiler.target>8</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> </properties> <dependencies> <dependency> diff --git a/iotdb-core/datanode/pom.xml b/iotdb-core/datanode/pom.xml index 299e50f1be9..f0c2d609fc3 100644 --- a/iotdb-core/datanode/pom.xml +++ b/iotdb-core/datanode/pom.xml @@ -287,8 +287,8 @@ <artifactId>netty-buffer</artifactId> </dependency> <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-servlet</artifactId> + <groupId>org.eclipse.jetty.ee10</groupId> + <artifactId>jetty-ee10-servlet</artifactId> </dependency> <dependency> <groupId>org.glassfish.jersey.inject</groupId> diff --git a/iotdb-core/datanode/src/assembly/resources/conf/datanode-env.sh b/iotdb-core/datanode/src/assembly/resources/conf/datanode-env.sh index af3cc6ae9dd..a8b1fdd763b 100755 --- a/iotdb-core/datanode/src/assembly/resources/conf/datanode-env.sh +++ b/iotdb-core/datanode/src/assembly/resources/conf/datanode-env.sh @@ -203,59 +203,40 @@ fi java_ver_output=`"$JAVA" -version 2>&1` jvmver=`echo "$java_ver_output" | grep '[openjdk|java] version' | awk -F'"' 'NR==1 {print $2}' | cut -d\- -f1` JVM_VERSION=${jvmver%_*} -JVM_PATCH_VERSION=${jvmver#*_} -if [ "$JVM_VERSION" \< "1.8" ] ; then - echo "IoTDB requires Java 8u92 or later." - exit 1; +version_arr=(${JVM_VERSION//./ }) +if [ "${version_arr[0]}" = "1" ] ; then + MAJOR_VERSION=${version_arr[1]} +else + MAJOR_VERSION=${version_arr[0]} fi -if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt 92 ] ; then - echo "IoTDB requires Java 8u92 or later." +if [ "$MAJOR_VERSION" -lt 17 ] ; then + echo "IoTDB requires Java 17 or later." exit 1; fi -version_arr=(${JVM_VERSION//./ }) - illegal_access_params="" #GC log path has to be defined here because it needs to access IOTDB_HOME -if [ "${version_arr[0]}" = "1" ] ; then - # Java 8 - MAJOR_VERSION=${version_arr[1]} - echo "$IOTDB_JMX_OPTS" | grep -q "^-[X]loggc" - if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line - # only add -Xlog:gc if it's not mentioned in jvm-server.options file - mkdir -p ${IOTDB_HOME}/logs - if [ "$#" -ge "1" -a "$1" == "printgc" ]; then - IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xloggc:${IOTDB_HOME}/logs/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M" - # For more detailed GC information, you can uncomment option below. - # NOTE: more detailed GC information may bring larger GC log files. - # IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xloggc:${IOTDB_HOME}/logs/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintReferenceGC -XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1 -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M" - fi - fi -else - #JDK 11 and others - MAJOR_VERSION=${version_arr[0]} - # See description of https://bugs.openjdk.java.net/browse/JDK-8046148 for details about the syntax - # The following is the equivalent to -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M - echo "$IOTDB_JMX_OPTS" | grep -q "^-[X]log:gc" - if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line - # only add -Xlog:gc if it's not mentioned in jvm-server.options file - mkdir -p ${IOTDB_HOME}/logs - if [ "$#" -ge "1" -a "$1" == "printgc" ]; then - IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc=info,heap*=info,age*=info,safepoint=info,promotion*=info:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760" - # For more detailed GC information, you can uncomment option below. - # NOTE: more detailed GC information may bring larger GC log files. - # IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc*=debug,heap*=debug,age*=trace,metaspace*=info,safepoint*=debug,promotion*=info:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level,tags:filecount=10,filesize=100M" - fi +# See description of https://bugs.openjdk.java.net/browse/JDK-8046148 for details about the syntax +# The following is the equivalent to -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M +echo "$IOTDB_JMX_OPTS" | grep -q "^-[X]log:gc" +if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line + # only add -Xlog:gc if it's not mentioned in jvm-server.options file + mkdir -p ${IOTDB_HOME}/logs + if [ "$#" -ge "1" -a "$1" == "printgc" ]; then + IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc=info,heap*=info,age*=info,safepoint=info,promotion*=info:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760" + # For more detailed GC information, you can uncomment option below. + # NOTE: more detailed GC information may bring larger GC log files. + # IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc*=debug,heap*=debug,age*=trace,metaspace*=info,safepoint*=debug,promotion*=info:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level,tags:filecount=10,filesize=100M" fi - # Add argLine for Java 11 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) - illegal_access_params="$illegal_access_params --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.lang=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.util=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.nio=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.io=ALL-UNNAMED" - illegal_access_params="$illegal_access_params --add-opens=java.base/java.net=ALL-UNNAMED" fi +# Add argLine for Java 17 and above, due to [JEP 396: Strongly Encapsulate JDK Internals by Default] (https://openjdk.java.net/jeps/396) +illegal_access_params="$illegal_access_params --add-opens=java.base/java.util.concurrent=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.lang=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.util=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.nio=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.io=ALL-UNNAMED" +illegal_access_params="$illegal_access_params --add-opens=java.base/java.net=ALL-UNNAMED" calculate_memory_sizes @@ -348,4 +329,3 @@ IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -XX:+SafepointTimeout" echo "DataNode on heap memory size = ${ON_HEAP_MEMORY}B, off heap memory size = ${OFF_HEAP_MEMORY}B" echo "If you want to change this configuration, please check conf/datanode-env.sh." - diff --git a/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat b/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat index c80aaf6f551..1a13bd3e641 100755 --- a/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat +++ b/iotdb-core/datanode/src/assembly/resources/sbin/start-datanode.bat @@ -48,15 +48,15 @@ for /f tokens^=2-5^ delims^=.-_+^" %%j in ('java -fullversion 2^>^&1') do ( set JAVA_VERSION=%MAJOR_VERSION% -@REM we do not check jdk that version less than 1.8 because they are too stale... -IF "%JAVA_VERSION%" == "6" ( - echo IoTDB only supports jdk >= 8, please check your java version. - goto finally -) -IF "%JAVA_VERSION%" == "7" ( - echo IoTDB only supports jdk >= 8, please check your java version. - goto finally -) + @REM IoTDB requires JDK 17 or later. + IF "%JAVA_VERSION%" == "" ( + echo Failed to determine Java version. IoTDB only supports jdk ^>= 17, please check your java installation. + goto finally + ) + IF %JAVA_VERSION% LSS 17 ( + echo IoTDB only supports jdk ^>= 17, please check your java version. + goto finally + ) @REM ----------------------------------------------------------------------------- @REM SET DIR @@ -272,4 +272,3 @@ pause :finally @ENDLOCAL pause - diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java index 5019d3ab8fe..c4aa9ad01c3 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java @@ -44,7 +44,7 @@ import org.apache.tsfile.utils.Binary; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.time.ZoneId; import java.util.List; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceConfig.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceConfig.java index 64c0f65fe30..f6b7848d8ac 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceConfig.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceConfig.java @@ -27,7 +27,7 @@ public class IoTDBRestServiceConfig { /** Set the REST Service port. */ private int restServicePort = 18080; - /** Whether to display rest service interface information through swagger. */ + /** Whether to display rest service interface information through OpenAPI. */ private boolean enableSwagger = false; /** Enable the REST Service ssl. */ diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeDynamicMemoryBlock.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeDynamicMemoryBlock.java index 3dbac912db3..87a8b4a45cf 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeDynamicMemoryBlock.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeDynamicMemoryBlock.java @@ -21,7 +21,7 @@ package org.apache.iotdb.db.pipe.resource.memory; import org.apache.tsfile.utils.Pair; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.function.Consumer; import java.util.stream.Stream; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/ApiOriginFilter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/ApiOriginFilter.java index aacc2bcc09a..b7d4d99d297 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/ApiOriginFilter.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/ApiOriginFilter.java @@ -17,16 +17,17 @@ package org.apache.iotdb.db.protocol.rest.filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.Filter; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -public class ApiOriginFilter implements javax.servlet.Filter { +public class ApiOriginFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/AuthorizationFilter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/AuthorizationFilter.java index 878705ad0bc..79adb6e8b23 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/AuthorizationFilter.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/AuthorizationFilter.java @@ -28,15 +28,15 @@ import org.apache.iotdb.db.protocol.session.RestClientSession; import org.apache.iotdb.db.protocol.session.SessionManager; import org.apache.iotdb.rpc.TSStatusCode; -import javax.servlet.annotation.WebFilter; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.container.ContainerRequestFilter; -import javax.ws.rs.container.ContainerResponseContext; -import javax.ws.rs.container.ContainerResponseFilter; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.ext.Provider; +import jakarta.servlet.annotation.WebFilter; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.container.ContainerRequestFilter; +import jakarta.ws.rs.container.ContainerResponseContext; +import jakarta.ws.rs.container.ContainerResponseFilter; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.Provider; import java.io.IOException; import java.time.ZoneId; @@ -57,14 +57,14 @@ public class AuthorizationFilter implements ContainerRequestFilter, ContainerRes @Override public void filter(ContainerRequestContext containerRequestContext) throws IOException { + String requestPath = containerRequestContext.getUriInfo().getPath(); - if ("OPTIONS".equals(containerRequestContext.getMethod()) - || "ping".equals(containerRequestContext.getUriInfo().getPath()) - || (config.isEnableSwagger() - && "swagger.json".equals(containerRequestContext.getUriInfo().getPath()))) { + if ("OPTIONS".equals(containerRequestContext.getMethod()) || "ping".equals(requestPath)) { return; - } else if (!config.isEnableSwagger() - && "swagger.json".equals(containerRequestContext.getUriInfo().getPath())) { + } else if (isOpenApiPath(requestPath)) { + if (config.isEnableSwagger()) { + return; + } Response resp = Response.status(Status.NOT_FOUND).type(MediaType.APPLICATION_JSON).entity("").build(); containerRequestContext.abortWith(resp); @@ -155,4 +155,10 @@ public class AuthorizationFilter implements ContainerRequestFilter, ContainerRes SESSION_MANAGER.removeCurrSession(); } } + + private boolean isOpenApiPath(String requestPath) { + return "openapi".equals(requestPath) + || "openapi.json".equals(requestPath) + || "openapi.yaml".equals(requestPath); + } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/BasicSecurityContext.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/BasicSecurityContext.java index 28030577a93..6c04aac62a6 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/BasicSecurityContext.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/filter/BasicSecurityContext.java @@ -17,7 +17,7 @@ package org.apache.iotdb.db.protocol.rest.filter; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.SecurityContext; import java.security.Principal; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/AuthorizationHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/AuthorizationHandler.java index eba8d8b365f..86a9172ca76 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/AuthorizationHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/AuthorizationHandler.java @@ -23,8 +23,8 @@ import org.apache.iotdb.db.protocol.rest.model.ExecutionStatus; import org.apache.iotdb.db.queryengine.plan.statement.Statement; import org.apache.iotdb.rpc.TSStatusCode; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; public class AuthorizationHandler { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryRowLimitUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryRowLimitUtils.java index 00f8a993ae8..dff0d3efb51 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryRowLimitUtils.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryRowLimitUtils.java @@ -22,7 +22,7 @@ package org.apache.iotdb.db.protocol.rest.handler; import org.apache.iotdb.db.protocol.rest.model.ExecutionStatus; import org.apache.iotdb.rpc.TSStatusCode; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; public final class QueryRowLimitUtils { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java index f85de024b47..6fc0d0b701d 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java @@ -23,8 +23,8 @@ import org.apache.iotdb.db.protocol.rest.model.ExecutionStatus; import org.apache.iotdb.db.service.ExternalRPCService; import org.apache.iotdb.rpc.TSStatusCode; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; public class PingApiServiceImpl extends PingApiService { diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/ExceptionHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/ExceptionHandler.java index 862f799961d..23b59873632 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/ExceptionHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/ExceptionHandler.java @@ -33,7 +33,7 @@ import org.antlr.v4.runtime.misc.ParseCancellationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandler.java index b87ace54df4..3a2050c3c3b 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandler.java @@ -36,7 +36,7 @@ import org.apache.tsfile.common.conf.TSFileConfig; import org.apache.tsfile.enums.TSDataType; import org.apache.tsfile.read.common.block.TsBlock; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.ArrayList; import java.util.List; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java index 8ba6eb44337..4c0f80f2317 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/GrafanaApiServiceImpl.java @@ -49,8 +49,8 @@ import org.apache.iotdb.rpc.TSStatusCode; import com.google.common.base.Joiner; import org.apache.commons.lang3.StringUtils; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import java.time.ZoneId; import java.util.List; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/RestApiServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/RestApiServiceImpl.java index c50baa9bb54..f3e51ff687a 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/RestApiServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v1/impl/RestApiServiceImpl.java @@ -48,8 +48,8 @@ import org.apache.iotdb.db.utils.CommonUtils; import org.apache.iotdb.db.utils.SetThreadName; import org.apache.iotdb.rpc.TSStatusCode; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import java.time.ZoneId; import java.util.Optional; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/ExceptionHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/ExceptionHandler.java index 6e93b7b55f0..c4215cd5ec8 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/ExceptionHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/ExceptionHandler.java @@ -33,7 +33,7 @@ import org.antlr.v4.runtime.misc.ParseCancellationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandler.java index af1657a8b13..3927a69585c 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandler.java @@ -33,7 +33,7 @@ import org.apache.iotdb.service.rpc.thrift.TSLastDataQueryReq; import org.apache.tsfile.common.constant.TsFileConstant; import org.apache.tsfile.read.TimeValuePair; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.ArrayList; import java.util.Collections; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/QueryDataSetHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/QueryDataSetHandler.java index e77265abe1d..5fe14cc5ce4 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/QueryDataSetHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/QueryDataSetHandler.java @@ -36,7 +36,7 @@ import org.apache.tsfile.common.conf.TSFileConfig; import org.apache.tsfile.enums.TSDataType; import org.apache.tsfile.read.common.block.TsBlock; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.ArrayList; import java.util.List; @@ -127,6 +127,7 @@ public class QueryDataSetHandler { for (int i = 0; i < datasetHeader.getRespColumns().size(); i++) { targetDataSet.addColumnNamesItem(datasetHeader.getRespColumns().get(i)); targetDataSet.addValuesItem(new ArrayList<>()); + targetDataSet.addDataTypesItem(datasetHeader.getRespDataTypes().get(i).name()); targetDataSetIndexToSourceDataSetIndex[i] = i; } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java index b57306fce8c..8fd41ac18aa 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/GrafanaApiServiceImpl.java @@ -49,8 +49,8 @@ import org.apache.iotdb.rpc.TSStatusCode; import com.google.common.base.Joiner; import org.apache.commons.lang3.StringUtils; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import java.time.ZoneId; import java.util.List; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/RestApiServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/RestApiServiceImpl.java index 80e86c1a998..dc436f15bf0 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/RestApiServiceImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/impl/RestApiServiceImpl.java @@ -64,8 +64,8 @@ import org.apache.iotdb.service.rpc.thrift.TSLastDataQueryReq; import org.apache.tsfile.read.TimeValuePair; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.SecurityContext; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.SecurityContext; import java.time.ZoneId; import java.util.HashMap; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/task/DriverTaskId.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/task/DriverTaskId.java index 3dff2044a6e..b8e3b19c73e 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/task/DriverTaskId.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/schedule/task/DriverTaskId.java @@ -24,7 +24,7 @@ import org.apache.iotdb.db.queryengine.common.PlanFragmentId; import org.apache.iotdb.db.queryengine.common.QueryId; import org.apache.iotdb.db.queryengine.execution.schedule.queue.ID; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.Objects; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java index 86bb3b0ad2d..33173a5e598 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java @@ -43,7 +43,7 @@ import org.apache.tsfile.read.common.block.column.TsBlockSerde; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.IOException; import java.nio.ByteBuffer; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java index 0ace411cd94..e1cbc5ccac1 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java @@ -31,7 +31,7 @@ import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor import org.apache.tsfile.utils.RamUsageEstimator; import org.apache.tsfile.utils.ReadWriteIOUtils; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.DataOutputStream; import java.io.IOException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/LevelTimeSeriesCountNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/LevelTimeSeriesCountNode.java index c4c05893300..fc964afc029 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/LevelTimeSeriesCountNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/LevelTimeSeriesCountNode.java @@ -32,7 +32,7 @@ import org.apache.iotdb.db.schemaengine.template.Template; import org.apache.tsfile.utils.ReadWriteIOUtils; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.DataOutputStream; import java.io.IOException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesCountNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesCountNode.java index 6f7483132a3..e6ad4b02572 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesCountNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesCountNode.java @@ -32,7 +32,7 @@ import org.apache.iotdb.db.schemaengine.template.Template; import org.apache.tsfile.utils.ReadWriteIOUtils; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.DataOutputStream; import java.io.IOException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesSchemaScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesSchemaScanNode.java index 1e52eb9012f..e1e7986b90e 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesSchemaScanNode.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metedata/read/TimeSeriesSchemaScanNode.java @@ -31,7 +31,7 @@ import org.apache.iotdb.db.schemaengine.template.Template; import org.apache.tsfile.utils.ReadWriteIOUtils; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.DataOutputStream; import java.io.IOException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/FakeCRC32Deserializer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/FakeCRC32Deserializer.java index 9ecca265a9d..6f3dda44334 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/FakeCRC32Deserializer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/FakeCRC32Deserializer.java @@ -22,8 +22,9 @@ package org.apache.iotdb.db.schemaengine.schemaregion.logfile; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import jakarta.validation.constraints.NotNull; + import javax.annotation.concurrent.NotThreadSafe; -import javax.validation.constraints.NotNull; import java.io.ByteArrayInputStream; import java.io.DataInputStream; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/SchemaLogReader.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/SchemaLogReader.java index 3cc8e203e9d..c84f5dd220c 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/SchemaLogReader.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/logfile/SchemaLogReader.java @@ -25,7 +25,7 @@ import org.apache.tsfile.utils.ReadWriteIOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.io.BufferedInputStream; import java.io.EOFException; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/mnode/container/MemMNodeContainer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/mnode/container/MemMNodeContainer.java index 44c16126ea8..9ae559c311e 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/mnode/container/MemMNodeContainer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/mnode/container/MemMNodeContainer.java @@ -22,7 +22,7 @@ package org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.conta import org.apache.iotdb.commons.schema.node.utils.IMNodeContainer; import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.IMemMNode; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.AbstractMap; import java.util.Collection; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/CachedMNodeContainer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/CachedMNodeContainer.java index 7fe205993da..7cdd08fccdd 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/CachedMNodeContainer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/CachedMNodeContainer.java @@ -23,9 +23,10 @@ import org.apache.iotdb.commons.schema.MergeSortIterator; import org.apache.iotdb.commons.schema.node.utils.IMNodeContainer; import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.pbtree.mnode.ICachedMNode; +import jakarta.validation.constraints.NotNull; + import javax.annotation.Nonnull; import javax.annotation.Nullable; -import javax.validation.constraints.NotNull; import java.util.AbstractMap; import java.util.ArrayList; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/view/visitor/TransformToExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/view/visitor/TransformToExpressionVisitor.java index 7ad1de7a5cb..1f7e9d439e8 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/view/visitor/TransformToExpressionVisitor.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/view/visitor/TransformToExpressionVisitor.java @@ -76,7 +76,7 @@ import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand; import org.apache.tsfile.utils.Pair; -import javax.ws.rs.NotSupportedException; +import jakarta.ws.rs.NotSupportedException; import java.util.ArrayList; import java.util.List; diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/RestService.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/RestService.java index fa8df0c9a69..a0b091e9350 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/RestService.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/RestService.java @@ -23,6 +23,8 @@ import org.apache.iotdb.db.conf.rest.IoTDBRestServiceConfig; import org.apache.iotdb.db.conf.rest.IoTDBRestServiceDescriptor; import org.apache.iotdb.db.protocol.rest.filter.ApiOriginFilter; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; @@ -30,14 +32,12 @@ import org.eclipse.jetty.server.SecureRequestCustomizer; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.glassfish.jersey.servlet.ServletContainer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.DispatcherType; +import jakarta.servlet.DispatcherType; import java.util.EnumSet; @@ -97,7 +97,7 @@ public class RestService implements IService { holder.setInitOrder(1); holder.setInitParameter( "jersey.config.server.provider.packages", - "io.swagger.jaxrs.listing, io.swagger.sample.resource, org.apache.iotdb.db.protocol.rest"); + "io.swagger.v3.jaxrs2.integration.resources, org.apache.iotdb.db.protocol.rest"); holder.setInitParameter( "jersey.config.server.provider.classnames", "org.glassfish.jersey.media.multipart.MultiPartFeature"); diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionWorker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionWorker.java index 03c0636cb38..a6581961929 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionWorker.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionWorker.java @@ -29,7 +29,7 @@ import org.apache.iotdb.db.utils.datastructure.FixedPriorityBlockingQueue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.validation.constraints.NotNull; +import jakarta.validation.constraints.NotNull; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandlerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandlerTest.java index d0f6709bc60..88ddca1fabd 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandlerTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v1/handler/QueryDataSetHandlerTest.java @@ -33,7 +33,7 @@ import org.apache.tsfile.read.common.block.TsBlock; import org.apache.tsfile.read.common.block.TsBlockBuilder; import org.junit.Test; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.nio.ByteBuffer; import java.util.ArrayDeque; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandlerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandlerTest.java index 786db7492d1..a768ca4939c 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandlerTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandlerTest.java @@ -30,7 +30,7 @@ import org.apache.tsfile.read.TimeValuePair; import org.apache.tsfile.utils.TsPrimitiveType; import org.junit.Test; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.HashMap; import java.util.Map; diff --git a/iotdb-core/datanode/src/test/resources/iotdb-common.properties b/iotdb-core/datanode/src/test/resources/iotdb-common.properties index 95ae09870f1..d22cfaa6372 100644 --- a/iotdb-core/datanode/src/test/resources/iotdb-common.properties +++ b/iotdb-core/datanode/src/test/resources/iotdb-common.properties @@ -27,7 +27,7 @@ enable_rest_service=true # the binding port of the REST service # rest_service_port=18080 -# Whether to display rest service interface information through swagger. eg: http://ip:port/swagger.json +# Whether to display rest service interface information through OpenAPI. eg: http://ip:port/openapi.json # enable_swagger=false # The maximum row limit for REST and Grafana query responses. diff --git a/iotdb-core/datanode/src/test/resources/iotdb-system.properties b/iotdb-core/datanode/src/test/resources/iotdb-system.properties index 6a19f218257..4cde9826f07 100644 --- a/iotdb-core/datanode/src/test/resources/iotdb-system.properties +++ b/iotdb-core/datanode/src/test/resources/iotdb-system.properties @@ -45,7 +45,7 @@ enable_rest_service=true # the binding port of the REST service # rest_service_port=18080 -# Whether to display rest service interface information through swagger. eg: http://ip:port/swagger.json +# Whether to display rest service interface information through OpenAPI. eg: http://ip:port/openapi.json # enable_swagger=false # The maximum row limit for REST and Grafana query responses. diff --git a/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template b/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template index 2bc03179bd1..fa7cb7ddf08 100644 --- a/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template +++ b/iotdb-core/node-commons/src/assembly/resources/conf/iotdb-system.properties.template @@ -558,7 +558,7 @@ enable_rest_service=false # Datatype: int rest_service_port=18080 -# Whether to display rest service interface information through swagger. eg: http://ip:port/swagger.json +# Whether to display rest service interface information through OpenAPI. eg: http://ip:port/openapi.json # effectiveMode: restart # Datatype: boolean enable_swagger=false diff --git a/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.bat b/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.bat index 19c40f3974e..96f66df0483 100644 --- a/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.bat +++ b/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.bat @@ -164,7 +164,7 @@ exit /b :local_jdk_check echo Check: Installation Environment(JDK) -echo Requirement: JDK Version ^>=1.8 +echo Requirement: JDK Version ^>=17 echo Result: JDK Version %JAVA_VERSION% exit /b @@ -635,4 +635,4 @@ for /f "delims=" %%i in ('powershell -NoProfile -Command "$v=$host.Version.Major echo %command_line% | findstr /i /c:"iotdb" >nul && set is_iotdb=1 endlocal & set "is_iotdb=%is_iotdb%" -exit /b \ No newline at end of file +exit /b diff --git a/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.sh b/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.sh index 9cb08bb5e33..e6c703b237c 100644 --- a/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.sh +++ b/iotdb-core/node-commons/src/assembly/resources/sbin/health_check.sh @@ -316,7 +316,7 @@ local_dirs_check() { local_jdk_check() { echo "Check: Installation Environment(JDK)" - echo "Requirement: JDK Version >=1.8" + echo "Requirement: JDK Version >=17" if [ -z $JAVA ] ; then echo "Result: Unable to find java executable. Check JAVA_HOME and PATH environment variables. " diff --git a/iotdb-protocol/openapi/pom.xml b/iotdb-protocol/openapi/pom.xml index b58e2081a66..9af67174c7f 100644 --- a/iotdb-protocol/openapi/pom.xml +++ b/iotdb-protocol/openapi/pom.xml @@ -30,20 +30,20 @@ <name>IoTDB: Protocol: OpenAPI</name> <dependencies> <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-annotations-jakarta</artifactId> </dependency> <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-models</artifactId> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-models-jakarta</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </dependency> <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-json-provider</artifactId> + <groupId>com.fasterxml.jackson.jakarta.rs</groupId> + <artifactId>jackson-jakarta-rs-json-provider</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> @@ -62,8 +62,12 @@ <artifactId>jakarta.ws.rs-api</artifactId> </dependency> <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-jaxrs</artifactId> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-jaxrs2-jakarta</artifactId> + </dependency> + <dependency> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-integration-jakarta</artifactId> </dependency> <!-- Just needed for unused import code --> <dependency> @@ -105,6 +109,8 @@ <artifactId>iotdb-rest-service</artifactId> <artifactVersion>${project.version}</artifactVersion> <dateLibrary>java8</dateLibrary> + <library>jersey3</library> + <useJakartaEe>true</useJakartaEe> <useGzipFeature>true</useGzipFeature> </configOptions> </configuration> @@ -132,6 +138,8 @@ <artifactId>iotdb-rest-service</artifactId> <artifactVersion>${project.version}</artifactVersion> <dateLibrary>java8</dateLibrary> + <library>jersey3</library> + <useJakartaEe>true</useJakartaEe> <useGzipFeature>true</useGzipFeature> </configOptions> </configuration> @@ -159,6 +167,8 @@ <artifactId>iotdb-rest-service</artifactId> <artifactVersion>${project.version}</artifactVersion> <dateLibrary>java8</dateLibrary> + <library>jersey3</library> + <useJakartaEe>true</useJakartaEe> <useGzipFeature>true</useGzipFeature> </configOptions> </configuration> diff --git a/library-udf/pom.xml b/library-udf/pom.xml index 09a0a4e8285..a02b63b03a9 100644 --- a/library-udf/pom.xml +++ b/library-udf/pom.xml @@ -29,8 +29,8 @@ <artifactId>library-udf</artifactId> <name>IoTDB: UDF</name> <properties> - <maven.compiler.source>8</maven.compiler.source> - <maven.compiler.target>8</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> </properties> <dependencies> <dependency> diff --git a/pom.xml b/pom.xml index c073263bdba..082fa90a23e 100644 --- a/pom.xml +++ b/pom.xml @@ -49,19 +49,16 @@ <module>library-udf</module> </modules> <properties> - <!-- This was the last version to support Java 8 --> <airlift-units.version>1.7</airlift-units.version> <airlift.version>206</airlift.version> <!--airlift-stats.version>235</airlift-stats.version--> <airline.version>0.9</airline.version> - <!-- This was the last version to support Java 8 --> <antlr4.version>4.9.3</antlr4.version> <!-- By default, the argLine is empty--> <argLine/> <awaitility.version>4.2.0</awaitility.version> <boost.include.dir/> <bouncycastle.version>1.84</bouncycastle.version> - <!-- This was the last version to support Java 8 --> <caffeine.version>2.9.3</caffeine.version> <cglib.version>3.3.0</cglib.version> <checker-qual.version>3.38.0</checker-qual.version> @@ -83,11 +80,9 @@ <felix.version>5.1.9</felix.version> <findbugs.jsr305.version>3.0.2</findbugs.jsr305.version> <fusesource-mqtt-client.version>1.16</fusesource-mqtt-client.version> - <!-- JDK1.8 only support google java format 1.7--> <google.java.format.version>1.22.0</google.java.format.version> <gson.version>2.13.1</gson.version> <guava.version>32.1.2-jre</guava.version> - <!-- This was the last version to support Java 8 --> <h2.version>2.2.224</h2.version> <httpclient.version>4.5.14</httpclient.version> <httpcore.version>4.4.16</httpcore.version> @@ -97,38 +92,31 @@ --> <iotdb-tools-thrift.version>0.23.0.0</iotdb-tools-thrift.version> <jackson.version>2.16.2</jackson.version> - <!-- This is the last version to support the javax namespace --> - <jakarta.servlet-api.version>4.0.4</jakarta.servlet-api.version> - <!-- This is the last version to support the javax namespace --> - <jakarta.validation-api.version>2.0.2</jakarta.validation-api.version> - <!-- This is the last version to support the javax namespace --> - <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version> + <jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version> + <jakarta.servlet-api.version>6.0.0</jakarta.servlet-api.version> + <jakarta.validation-api.version>3.0.2</jakarta.validation-api.version> + <jakarta.ws.rs-api.version>3.1.0</jakarta.ws.rs-api.version> <java-websocket.version>1.5.4</java-websocket.version> <jcip-annotations.version>1.0-1</jcip-annotations.version> - <!-- This is the last version to support the javax namespace --> - <jersey.version>2.40</jersey.version> - <!-- This was the last version to support Java 8 --> - <jetty.version>9.4.58.v20250814</jetty.version> + <jersey.version>3.1.11</jersey.version> + <jetty.version>12.0.36</jetty.version> <jline.version>3.26.2</jline.version> <jna.version>5.14.0</jna.version> <jtransforms.version>3.1</jtransforms.version> <junit.version>4.13.2</junit.version> - <!-- This was the last version to support Java 8 --> - <logback.version>1.3.16</logback.version> + <logback.version>1.5.34</logback.version> <lz4-java.version>1.10.1</lz4-java.version> <maven.assembly.version>3.6.0</maven.assembly.version> - <maven.compiler.source>1.8</maven.compiler.source> - <maven.compiler.target>1.8</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> <micrometer.version>1.11.4</micrometer.version> <milo.version>0.6.14</milo.version> <!-- It seems that powermock is having issues with the newest mockito versions --> <mockito.version>2.23.4</mockito.version> - <!-- This was the last version to support Java 8 --> <!--mockito.version>4.11.0</mockito.version--> <moquette.version>0.18.0</moquette.version> <netty.version>4.1.134.Final</netty.version> - <!-- This was the last version to support Java 8 --> - <openapi.generator.version>6.6.0</openapi.generator.version> + <openapi.generator.version>7.10.0</openapi.generator.version> <osgi.version>7.0.0</osgi.version> <pax-jdbc-common.version>1.5.6</pax-jdbc-common.version> <powermock.version>2.0.9</powermock.version> @@ -156,10 +144,9 @@ <sonar.organization>apache</sonar.organization> <!-- Override this to `true`, if you want to disable spotless --> <spotless.skip>false</spotless.skip> - <spotless.version>2.43.0</spotless.version> + <spotless.version>2.44.5</spotless.version> <clang.format.version>17.0.6</clang.format.version> - <!-- This was the last version to support Java 8 --> - <swagger.version>1.6.14</swagger.version> + <swagger.version>2.2.50</swagger.version> <thrift.exec-cmd.executable>chmod</thrift.exec-cmd.executable> <thrift.exec.absolute.path/> <thrift.version>0.23.0</thrift.version> @@ -311,6 +298,11 @@ <artifactId>jsr305</artifactId> <version>${findbugs.jsr305.version}</version> </dependency> + <dependency> + <groupId>jakarta.annotation</groupId> + <artifactId>jakarta.annotation-api</artifactId> + <version>${jakarta.annotation-api.version}</version> + </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> @@ -512,29 +504,24 @@ <version>${xz.version}</version> </dependency> <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-annotations</artifactId> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-annotations-jakarta</artifactId> <version>${swagger.version}</version> </dependency> <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-models</artifactId> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-models-jakarta</artifactId> <version>${swagger.version}</version> </dependency> <dependency> - <groupId>io.swagger</groupId> - <artifactId>swagger-jaxrs</artifactId> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-jaxrs2-jakarta</artifactId> + <version>${swagger.version}</version> + </dependency> + <dependency> + <groupId>io.swagger.core.v3</groupId> + <artifactId>swagger-integration-jakarta</artifactId> <version>${swagger.version}</version> - <exclusions> - <exclusion> - <groupId>javax.validation</groupId> - <artifactId>validation-api</artifactId> - </exclusion> - <exclusion> - <groupId>javax.ws.rs</groupId> - <artifactId>jsr311-api</artifactId> - </exclusion> - </exclusions> </dependency> <dependency> <groupId>org.fusesource.mqtt-client</groupId> @@ -602,8 +589,8 @@ <version>${jetty.version}</version> <exclusions> <exclusion> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> + <groupId>jakarta.servlet</groupId> + <artifactId>jakarta.servlet-api</artifactId> </exclusion> </exclusions> </dependency> @@ -618,8 +605,8 @@ <version>${jersey.version}</version> </dependency> <dependency> - <groupId>org.eclipse.jetty</groupId> - <artifactId>jetty-servlet</artifactId> + <groupId>org.eclipse.jetty.ee10</groupId> + <artifactId>jetty-ee10-servlet</artifactId> <version>${jetty.version}</version> </dependency> <dependency> @@ -688,8 +675,8 @@ <version>${jackson.version}</version> </dependency> <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-json-provider</artifactId> + <groupId>com.fasterxml.jackson.jakarta.rs</groupId> + <artifactId>jackson-jakarta-rs-json-provider</artifactId> <version>${jackson.version}</version> </dependency> <dependency> @@ -723,10 +710,11 @@ <version>2.18.0</version> </dependency> <!-- Conflict: - jackson-json-provider (pulls in 2.15.2), + jackson-jakarta-rs-json-provider (pulls in 2.15.2), jackson-databind (pulls in 2.15.2), jackson-databind-jsd310 (pulls in 2.15.2), - swagger-jaxrs (pulls in 2.14.2) + swagger-jaxrs2-jakarta (pulls in 2.15.2), + swagger-integration-jakarta (pulls in 2.15.2) --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> @@ -859,7 +847,7 @@ <style>GOOGLE</style> </googleJavaFormat> <importOrder> - <order>org.apache.iotdb,,javax,java,\#</order> + <order>org.apache.iotdb,,jakarta,javax,java,\#</order> </importOrder> <removeUnusedImports/> </java> @@ -1066,7 +1054,7 @@ </plugin> <!-- Strange things usually happen if you run with a too low Java version. - This plugin not only checks the minimum java version of 1.8, but also + This plugin not only checks the minimum java version of 17, but also checks all dependencies (and transitive dependencies) for reported CVEs. --> <plugin> @@ -1138,7 +1126,7 @@ <fail>true</fail> <rules> <requireJavaVersion> - <version>1.8.0</version> + <version>[17,)</version> </requireJavaVersion> <banVulnerable implementation="org.sonatype.ossindex.maven.enforcer.BanVulnerableDependencies"> <excludeCoordinates> @@ -1168,15 +1156,6 @@ <version>2.4.8</version> </exclude> <!-- - We can't update to a fixed version as we're stuck with this version - as it was the last to support the javax namespace. - --> - <exclude> - <groupId>org.glassfish.jersey.core</groupId> - <artifactId>jersey-common</artifactId> - <version>2.4.8</version> - </exclude> - <!-- TODO: For this CVE no fix exists yet, however we should keep an eye on this: https://docs.google.com/presentation/d/1W5KU7ffh4dheR8iD54ulABImi6byAhSI-OhEKw2adRo/edit#slide=id.gaf11915f86_0_0 --> @@ -1525,14 +1504,14 @@ </properties> </profile> <profile> - <id>.java-9-and-above</id> + <id>.java-17-and-above</id> <activation> - <jdk>[9,)</jdk> + <jdk>[17,)</jdk> </activation> <properties> - <maven.compiler.release>8</maven.compiler.release> + <maven.compiler.release>17</maven.compiler.release> <!-- - Add argLine for Java 9 and above, due to + Add argLine for Java 17 and above, due to [JEP 260: Encapsulate Most Internal APIs], [JEP 396: Strongly Encapsulate JDK Internals by Default], [JEP 403: Strongly Encapsulate JDK Internals] @@ -1552,14 +1531,14 @@ ]]></argLine> </properties> </profile> - <!-- Current version of spotless cannot support JDK11 below --> + <!-- Current version of spotless cannot support JDK17 below --> <profile> - <id>.java-11-below</id> + <id>.java-17-below</id> <activation> - <jdk>(,11]</jdk> + <jdk>(,17)</jdk> </activation> <properties> - <!-- This was the last version to support Java 8, Just for run --> + <!-- Keep old Spotless disabled when running below the minimum supported JDK. --> <spotless.version>2.27.1</spotless.version> <!-- To avoid format conflicts --> <spotless.skip>true</spotless.skip> @@ -1639,7 +1618,7 @@ </goals> <phase>generate-sources</phase> <configuration> - <generator>java</generator> + <generator>java:generated_annotations=suppress</generator> </configuration> </execution> <execution>
