Skip to content

Commit 76b6645

Browse files
committed
Upgrade minimum JDK to 17 and migrate REST to Jakarta
1 parent eb4409d commit 76b6645

260 files changed

Lines changed: 667 additions & 688 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/compile-check.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# This workflow will compile IoTDB under jdk8 to check for compatibility issues
1+
# This workflow will compile IoTDB under jdk17 to check for compatibility issues
22

33
name: Compile Check
44

@@ -37,7 +37,7 @@ jobs:
3737
strategy:
3838
fail-fast: false
3939
matrix:
40-
java: [8]
40+
java: [17]
4141
os: [ubuntu-latest]
4242
runs-on: ${{ matrix.os }}
4343
steps:

.github/workflows/daily-it.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
fail-fast: false
2121
max-parallel: 20
2222
matrix:
23-
java: [8, 17]
23+
java: [17]
2424
runs-on: [self-hosted, iotdb]
2525
# group: self-hosted
2626
# labels: iotdb
@@ -54,7 +54,7 @@ jobs:
5454
fail-fast: false
5555
max-parallel: 15
5656
matrix:
57-
java: [8, 17]
57+
java: [17]
5858
runs-on: [self-hosted, iotdb]
5959
# group: self-hosted
6060
# labels: iotdb

.github/workflows/daily-ut.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
fail-fast: false
2121
max-parallel: 15
2222
matrix:
23-
java: [8]
23+
java: [17]
2424
os: [ubuntu-latest, windows-latest]
2525
it_task: ["others", "datanode"]
2626
include:

.github/workflows/multi-language-client.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ jobs:
5050

5151
steps:
5252
- uses: actions/checkout@v5
53+
- name: Set up JDK 17
54+
uses: actions/setup-java@v5
55+
with:
56+
distribution: corretto
57+
java-version: 17
5358
- name: Install CPP Dependencies (Ubuntu)
5459
if: runner.os == 'Linux'
5560
shell: bash
@@ -141,6 +146,11 @@ jobs:
141146
with:
142147
token: ${{secrets.GITHUB_TOKEN}}
143148
submodules: recursive
149+
- name: Set up JDK 17
150+
uses: actions/setup-java@v5
151+
with:
152+
distribution: corretto
153+
java-version: 17
144154
- name: Cache Maven packages
145155
uses: actions/cache@v5
146156
with:
@@ -170,6 +180,11 @@ jobs:
170180
with:
171181
python-version: ${{ matrix.python }}
172182
- uses: actions/checkout@v5
183+
- name: Set up JDK 17
184+
uses: actions/setup-java@v5
185+
with:
186+
distribution: corretto
187+
java-version: 17
173188
- name: Cache Maven packages
174189
uses: actions/cache@v5
175190
with:

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ To run integration tests from IntelliJ: enable the `with-integration-tests` prof
103103
- **Apache License header**: Every new file committed to the repository MUST include the Apache License 2.0 header. Use the comment syntax appropriate for the file type (e.g., `<!-- -->` for `.md`, `/* */` for `.java`, `#` for `.properties`/`.py`). JSON files are exempt (no comment syntax). Refer to existing files in the repo for the exact format.
104104
- **Spotless** with Google Java Format (GOOGLE style). Import order: `org.apache.iotdb`, blank, `javax`, `java`, static.
105105
- **Checkstyle** is also configured (see `checkstyle.xml` at project root).
106-
- Java source/target level is 1.8 (compiled with `maven.compiler.release=8` on JDK 9+).
106+
- Java source/target level is 17 (compiled with `maven.compiler.release=17` on JDK 17+).
107107

108108
## Architecture
109109

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ plugin](https://github.com/diffplug/spotless/tree/main/plugin-maven) together wi
111111

112112
- Formatter: `clang-format` only
113113
- Version: pinned as `clang.format.version` in the root `pom.xml` (currently `17.0.6`, aligned with Apache TsFile); CI installs LLVM/clang-format so the default `clang-format` on the runner matches that version
114-
- Entrypoint: Maven Spotless; the `clangFormat` configuration is attached under the `spotless-cpp` profile in the C++ modules and activates only on **JDK 11+**, so run `spotless:check` / `spotless:apply` for C++ with JDK 11 or newer (CI does). JDK 8 builds elsewhere in the reactor do not load that Spotless fragment.
114+
- Entrypoint: Maven Spotless; the `clangFormat` configuration is attached under the `spotless-cpp` profile in the C++ modules and activates on the repository baseline, **JDK 17+**, so run `spotless:check` / `spotless:apply` for C++ with JDK 17 or newer (CI does).
115115

116116
Check only:
117117

Jenkinsfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ pipeline {
3434

3535
tools {
3636
maven 'maven_3_latest'
37-
jdk 'jdk_11_latest'
37+
jdk 'jdk_17_latest'
3838
}
3939

4040
options {

LICENSE-binary

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,12 @@ com.fasterxml.jackson.core:jackson-databind:2.16.2
224224
jakarta.inject:jakarta.inject:2.6.1
225225
at.yawk.lz4:lz4-java:1.10.0
226226
com.github.ben-manes.caffeine:caffeine:2.9.3
227-
org.eclipse.jetty:jetty-http:9.4.58.v20250814
228-
org.eclipse.jetty:jetty-io:9.4.58.v20250814
229-
org.eclipse.jetty:jetty-security:9.4.58.v20250814
230-
org.eclipse.jetty:jetty-server:9.4.58.v20250814
231-
org.eclipse.jetty:jetty-servlet:9.4.58.v20250814
232-
org.eclipse.jetty:jetty-util:9.4.58.v20250814
227+
org.eclipse.jetty:jetty-http:12.0.36
228+
org.eclipse.jetty:jetty-io:12.0.36
229+
org.eclipse.jetty:jetty-security:12.0.36
230+
org.eclipse.jetty:jetty-server:12.0.36
231+
org.eclipse.jetty.ee10:jetty-ee10-servlet:12.0.36
232+
org.eclipse.jetty:jetty-util:12.0.36
233233
com.google.code.findbugs:jsr305:3.0.2
234234
com.librato.metrics:librato-java:2.1.0
235235
org.apache.thrift:libthrift:0.14.1
@@ -257,7 +257,7 @@ io.airlift.airline:0.9
257257

258258
BSD 3-Clause
259259
------------
260-
org.antlr:antlr-runtime:4.9.3
260+
org.antlr:antlr4-runtime:4.13.2
261261
org.ow2.asm:asm:9.3
262262
org.jline:jline:3.26.2
263263

@@ -276,14 +276,18 @@ com.bugsnag:bugsnag:3.7.2
276276
EPL 1.0
277277
------------
278278
com.h2database:h2-mvstore:2.1.212
279-
ch.qos.logback:logback-classic:1.3.15
280-
ch.qos.logback:logback-core:1.3.15
279+
280+
281+
EPL 2.0
282+
------------
283+
ch.qos.logback:logback-classic:1.5.34
284+
ch.qos.logback:logback-core:1.5.34
285+
jakarta.annotation:jakarta.annotation-api:3.0.0
286+
jakarta.servlet:jakarta.servlet-api:6.0.0
281287

282288

283289
CDDL 1.1
284290
------------
285-
jakarta.annotation:jakarta.annotation-api:1.3.5
286-
jakarta.servlet:jakarta.servlet-api:4.0.4
287291
javax.xml.bind:jaxb-api:2.4.0-b180725.0427
288292
org.glassfish.jaxb:jaxb-runtime:2.3.6
289293

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
![](https://github-size-badge.herokuapp.com/apache/iotdb.svg)
2929
![](https://img.shields.io/github/downloads/apache/iotdb/total.svg)
3030
![](https://img.shields.io/badge/platform-win%20%7C%20macos%20%7C%20linux-yellow.svg)
31-
![](https://img.shields.io/badge/java--language-1.8+-blue.svg)
31+
![](https://img.shields.io/badge/java--language-17+-blue.svg)
3232
[![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/)
3333
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.iotdb/iotdb-parent.svg)](https://central.sonatype.com/artifact/org.apache.iotdb/iotdb-parent)
3434
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](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
8989

9090
To use IoTDB, you need to have:
9191

92-
1. Java >= 1.8 (1.8 to 25 are verified. Please make sure the environment path has been set accordingly).
92+
1. Java >= 17 (17 to 25 are verified. Please make sure the environment path has been set accordingly).
9393
2. Maven >= 3.6 (If you want to compile and install IoTDB from source code).
9494
3. Set the max open files num as 65535 to avoid the "too many open files" error.
9595
4. (Optional) Set the somaxconn as 65535 to avoid "connection reset" error when the system is under high load.

README_ZH.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
![](https://github-size-badge.herokuapp.com/apache/iotdb.svg)
2929
![](https://img.shields.io/github/downloads/apache/iotdb/total.svg)
3030
![](https://img.shields.io/badge/platform-win%20%7C%20macos%20%7C%20linux-yellow.svg)
31-
![](https://img.shields.io/badge/java--language-1.8+-blue.svg)
31+
![](https://img.shields.io/badge/java--language-17+-blue.svg)
3232
[![Language grade: Java](https://img.shields.io/lgtm/grade/java/g/apache/iotdb.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/apache/iotdb/context:java)
3333
[![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/)
3434
[![Maven Central](https://img.shields.io/maven-central/v/org.apache.iotdb/iotdb-parent.svg)](https://central.sonatype.com/artifact/org.apache.iotdb/iotdb-parent)
@@ -86,7 +86,7 @@ IoTDB的主要特点如下:
8686
## 环境准备
8787

8888
要使用IoTDB,您需要:
89-
1. Java >= 1.8 (目前 1.8 到 25 已经被验证可用。请确保环变量境路径已正确设置)。
89+
1. Java >= 17 (目前 17 到 25 已经被验证可用。请确保环变量境路径已正确设置)。
9090
2. Maven >= 3.6 (如果希望从源代码编译和安装IoTDB)。
9191
3. 设置 max open files 为 65535,以避免"too many open files"错误。
9292
4. (可选) 将 somaxconn 设置为 65535 以避免系统在高负载时出现 "connection reset" 错误。

0 commit comments

Comments
 (0)