opensearch-project / opensearch-project/data-prepper

Update Java support - JDK 21

Open
#3,192 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

breaking change maintenance
Dominant language
Java
Stars
374
Forks
354
Avg merge
3d 18h
Merged PRs (30d)
8

Description

Background

Data Prepper uses the Temurin releases for packages with bundled JDKs. Temurin has active LTS support for both Java 11 and 17. Java 21 is planned is a planned LTS release coming in Sep 2023.

Proposal

Update Data Prepper's supported Java versions to 21 and 17. As a breaking change, Data Prepper can stop supporting Java 11 entirely. This also means that developers can start using features which are available only in Java 17 and above.

We can also run some performance tests against Java 21 after it is released. This can help us determine if the default bundled JDK should be 21 instead of 17. Previously we found a performance gain running on Java 17 over 11 which motivated the update to bundle 17 instead.

Additionally, the Data Prepper builds can start to run against the Java 21 to ensure forward compatibility before it is the official version.

Tasks

  • #3267
  • #3329
  • #3330
  • Performance evaluation of Data Prepper on Java 21 (once available)
  • Bundle Data Prepper with Java 21 (once available; possibly breaking change)
  • #3493 (breaking change)

Reference

https://adoptium.net/support/

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the two unchecked tasks: performance evaluation on Java 21 and bundling Data Prepper with Java 21, using the linked Temurin support reference and existing completed task issues for context. Done means evaluating Java 21 performance, deciding the bundled JDK version, and completing the Java 21 bundle update while accounting for the Java 11 support change.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.