xiangfu0 opened a new issue, #19016: URL: https://github.com/apache/pinot/issues/19016
Since 1.4.0, Pinot services require Java 21 as the minimum source and runtime version (#15343). This proposes raising the minimum to **Java 25**, the current LTS. **This proposal does not affect the Pinot JDBC driver, java client, or SPI artifacts** (`pinot-spi`, `pinot-segment-spi`, `pinot-common`, `pinot-timeseries-spi`), which keep their Java 11 bytecode targets so external JVMs can continue to embed them. # Motivation - **Java 25 is the first LTS with the finalized FFM (java.lang.foreign) API.** Libraries are starting to require it: datasketches-java has no release after 6.2.0 that runs on Java 21 (7.x is Java-17-only via the removed `jdk.incubator.foreign`; 8.x requires `--enable-preview` pinned to exactly JDK 21; 9.x ships Java 25 bytecode). Pinot's sketch support is stuck on 6.2.0 until the baseline moves. - Java 21 support windows: Oracle until 2028. Java 25 is supported by Oracle until 2030 and Red Hat until 2031. - JDK 24+ removals (JEP 486 SecurityManager, etc.) are already visible in the codebase and are trivial to absorb during the bump. # Scope - `jdk.version` 21 → 25 in the root pom; enforcer rule `[25,)` - CI (unit/integration/quickstart/compatibility/vulnerability workflows) to temurin-25 - Docker publish matrices drop JDK 21 images; `latest` promotes the JDK 25 runtime; JDK 21 base images remain for older release branches - Compatibility-verifier builds each commit with its own pom JDK default so older release branches keep building - Docs/helm updated # Non-goals - No change to the Java 11 bytecode targets of SPI/client artifacts - No change to serialized formats or wire protocols Implementation: #19014 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
