Skip to content

feat(build): bump Scala/Java services to Java 17 LTS#4938

Open
bobbai00 wants to merge 10 commits intoapache:mainfrom
bobbai00:feat/bump-java-17
Open

feat(build): bump Scala/Java services to Java 17 LTS#4938
bobbai00 wants to merge 10 commits intoapache:mainfrom
bobbai00:feat/bump-java-17

Conversation

@bobbai00
Copy link
Copy Markdown
Contributor

@bobbai00 bobbai00 commented May 5, 2026

What changes were proposed in this PR?

Bump all Scala/Java microservices from Java 11 to Java 17 LTS.

  • 8 Dockerfiles under bin/: build base sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11...-17.0.5_8_1.9.3_2.13.11 (same sbt 1.9.3 + Scala 2.13.11); runtime eclipse-temurin:11-{jdk,jre}-jammy17-{jdk,jre}-jammy.

  • bin/computing-unit-{master,worker}.dockerfile: add ENV JDK_JAVA_OPTIONS with three opens (single space-separated value):

    --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED
    

    The other 6 service images don't exercise either path.

  • .github/workflows/build.yml + build-and-push-images.yml: java-version: 1117 (matrix entries + 5 setup-java steps); also set the same JDK_JAVA_OPTIONS env on the amber/amber-integration/platform jobs so sbt test JVMs inherit the opens.

  • .run/ComputingUnit{Master,Worker}.run.xml: same env in IntelliJ run configs.

  • AGENTS.md: toolchain table; quick note on the Java 17 --add-opens requirement for non-container runs.

Any related issues, documentation, discussions?

Closes #4937. Refs discussion #4001 (Java 17 readiness assessment — only minor changes needed).

How was this PR tested?

CI exercises end-to-end: build.yml builds + tests under Java 17, build-and-push-images.yml produces multi-arch images. The Arrow open is exercised by the amber-integration job, the Ehcache opens by amber (which loads Tuple extensively via DPThread/SizeOf).

Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.7)

@github-actions github-actions Bot added feature ci changes related to CI docs Changes related to documentations dev labels May 5, 2026
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented May 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 42.87%. Comparing base (8b5dbf8) to head (8d74587).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #4938      +/-   ##
============================================
+ Coverage     42.49%   42.87%   +0.37%     
+ Complexity     2180     1216     -964     
============================================
  Files          1005      738     -267     
  Lines         37429    29862    -7567     
  Branches       3914     2906    -1008     
============================================
- Hits          15907    12803    -3104     
+ Misses        20558    16436    -4122     
+ Partials        964      623     -341     
Flag Coverage Δ
access-control-service 39.53% <ø> (ø)
agent-service 33.72% <ø> (ø)
amber 45.17% <ø> (+2.04%) ⬆️
computing-unit-managing-service 0.00% <ø> (ø)
config-service 0.00% <ø> (ø)
file-service 33.24% <ø> (ø)
frontend 32.27% <ø> (ø)
python 88.01% <ø> (-0.06%) ⬇️
workflow-compiling-service 47.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from 25ae13f to 64ffded Compare May 5, 2026 04:05
@bobbai00 bobbai00 added the release/v1.1.0-incubating back porting to release/v1.1.0-incubating label May 5, 2026
Copy link
Copy Markdown
Contributor

@aglinxinyuan aglinxinyuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have to include it as part of the release? If it's not required, let's not include it in the release and do more testing.

The discussion also mentioned that we need to have JDK_JAVA_OPTIONS. Is that still required? I don't see it anywhere in this PR.

bobbai00 added a commit that referenced this pull request May 5, 2026
### What changes were proposed in this PR?

Backport #4549 (initial AGENTS.md + CLAUDE.md) and #4825 (AGENTS.md
rewrite) to `release/v1.1.0-incubating`. Two cherry-picks: #4549 applies
clean; #4825 has trivial content conflicts that resolve by taking the
post-rewrite state (i.e. `upstream/main:AGENTS.md` verbatim — what the
squashed result of both PRs would produce on main).

### Any related issues, documentation, discussions?

Backport of #4549 and #4825. Unblocks the auto-backport simulation for
#4938 (Java 17 bump) and any future PR that touches `AGENTS.md`.

### How was this PR tested?

Doc-only change. Verified `diff <(git show HEAD:AGENTS.md) <(git show
upstream/main:AGENTS.md)` is empty.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Code (Opus 4.7)

---------

Co-authored-by: Xinyuan Lin <xinyual3@uci.edu>
Co-authored-by: Yicong Huang <17627829+Yicong-Huang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

  • add ENV JDK_JAVA_OPTIONS="--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED". This is required by Apache Arrow Java under JDK 17+ (see https://arrow.apache.org/docs/java/install.html). The other 6 service images don't exercise Arrow off-heap memory.

Got it. I mentioned it in the PR description and AGENT.md

The main reason I want to include it in the release branch is because Java 11 already doesn't have an LTS version. Since we use Java as the runtime image, it would be great to have an LTS base image as the runtime.

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from 64ffded to c16f305 Compare May 5, 2026 04:22
@Yicong-Huang
Copy link
Copy Markdown
Contributor

  • add ENV JDK_JAVA_OPTIONS="--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED". This is required by Apache Arrow Java under JDK 17+ (see https://arrow.apache.org/docs/java/install.html). The other 6 service images don't exercise Arrow off-heap memory.

Got it. I mentioned it in the PR description and AGENT.md

The main reason I want to include it in the release branch is because Java 11 already doesn't have an LTS version. Since we use Java as the runtime image, it would be great to have an LTS base image as the runtime.

Java 11 is extended to be supported till 2032. https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Do we HAVE to upgrade before release??

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from c16f305 to 18f8813 Compare May 5, 2026 04:23
@aglinxinyuan
Copy link
Copy Markdown
Contributor

aglinxinyuan commented May 5, 2026

  • add ENV JDK_JAVA_OPTIONS="--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED". This is required by Apache Arrow Java under JDK 17+ (see https://arrow.apache.org/docs/java/install.html). The other 6 service images don't exercise Arrow off-heap memory.

Got it. I mentioned it in the PR description and AGENT.md

The main reason I want to include it in the release branch is because Java 11 already doesn't have an LTS version. Since we use Java as the runtime image, it would be great to have an LTS base image as the runtime.

Sorry, I missed the JDK_JAVA_OPTIONS part.

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch 2 times, most recently from fc43932 to d7b171c Compare May 5, 2026 04:37
@bobbai00 bobbai00 removed the release/v1.1.0-incubating back porting to release/v1.1.0-incubating label May 5, 2026
@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

  • add ENV JDK_JAVA_OPTIONS="--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED". This is required by Apache Arrow Java under JDK 17+ (see https://arrow.apache.org/docs/java/install.html). The other 6 service images don't exercise Arrow off-heap memory.

Got it. I mentioned it in the PR description and AGENT.md
The main reason I want to include it in the release branch is because Java 11 already doesn't have an LTS version. Since we use Java as the runtime image, it would be great to have an LTS base image as the runtime.

Java 11 is extended to be supported till 2032. https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Do we HAVE to upgrade before release??

We don't have to. I removed the tag.

@Yicong-Huang
Copy link
Copy Markdown
Contributor

How about bash script in bin/? do they need to be updated for JDK_JAVA_OPTIONS?

Comment thread AGENTS.md Outdated

When running computing-unit master/worker outside their Docker images on
JDK 17+, also `export JDK_JAVA_OPTIONS="--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED"`.
Without it, [Apache Arrow Java](https://arrow.apache.org/docs/java/install.html) fails on off-heap allocation.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link does not work for me

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed the link. Please check

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from 3563991 to 40e94aa Compare May 5, 2026 05:23
Copy link
Copy Markdown
Contributor

@aglinxinyuan aglinxinyuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want to add that to the IntelliJ configuration in the .run folder so developers can also run with JDK_JAVA_OPTIONS on their local machines? Please also don't solely rely on test cases for this big change. Let's run a real workflow to manually test it.

@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

Do you want to add that to the IntelliJ configuration in the .run folder so developers can also run with JDK_JAVA_OPTIONS on their local machines? Please also don't solely rely on test cases for this big change. Let's run a real workflow to manually test it.

Added

@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

Do you want to add that to the IntelliJ configuration in the .run folder so developers can also run with JDK_JAVA_OPTIONS on their local machines? Please also don't solely rely on test cases for this big change. Let's run a real workflow to manually test it.

During my daily development, I use Java 17 all the time and manually ran lots of workflows. So I am pretty confident with the changes.

To be safe, can you try this branch and manually run some workflows to test it?

@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

Java 11 is extended to be supported till 2032. https://www.oracle.com/java/technologies/java-se-support-roadmap.html
Do we HAVE to upgrade before release??

We don't have to. I removed the tag.

Many scripts are outdated currently. I prefer NOT to update them and have a separate PR to handle them.

Copy link
Copy Markdown
Contributor

@aglinxinyuan aglinxinyuan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Tested locally, and it works fine. We should notify people to change to Java 17 after this is merged.

Is there any way to automatically set the Java version for the project in the IDE? There might be a config file for the IDE.
Image

@aglinxinyuan
Copy link
Copy Markdown
Contributor

aglinxinyuan commented May 5, 2026

Mirror:

After switching to Java 17 and running the workflows, this error occurred:

[2026-05-04 22:46:53,334] [WARN] [org.ehcache.sizeof.ObjectGraphWalker] [pool-12-thread-1] - The JVM is preventing Ehcache from accessing the subgraph beneath 'private final byte[] java.lang.String.value' - cache sizes may be underestimated as a result 
java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @2bffa76d
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
	at org.ehcache.sizeof.ObjectGraphWalker.getAllFields(ObjectGraphWalker.java:245)
	at org.ehcache.sizeof.ObjectGraphWalker.getFilteredFields(ObjectGraphWalker.java:204)
	at org.ehcache.sizeof.ObjectGraphWalker.walk(ObjectGraphWalker.java:159)
	at org.ehcache.sizeof.SizeOf.deepSizeOf(SizeOf.java:74)

@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

Mirror:

After switching to Java 17 and running the workflows, this error occurred:

[2026-05-04 22:46:53,334] [WARN] [org.ehcache.sizeof.ObjectGraphWalker] [pool-12-thread-1] - The JVM is preventing Ehcache from accessing the subgraph beneath 'private final byte[] java.lang.String.value' - cache sizes may be underestimated as a result 
java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @2bffa76d
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
	at org.ehcache.sizeof.ObjectGraphWalker.getAllFields(ObjectGraphWalker.java:245)
	at org.ehcache.sizeof.ObjectGraphWalker.getFilteredFields(ObjectGraphWalker.java:204)
	at org.ehcache.sizeof.ObjectGraphWalker.walk(ObjectGraphWalker.java:159)
	at org.ehcache.sizeof.SizeOf.deepSizeOf(SizeOf.java:74)

Can you try:

export JDK_JAVA_OPTIONS="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"

Ref: ehcache/ehcache3#3008

@aglinxinyuan
Copy link
Copy Markdown
Contributor

aglinxinyuan commented May 5, 2026

Mirror:
After switching to Java 17 and running the workflows, this error occurred:

[2026-05-04 22:46:53,334] [WARN] [org.ehcache.sizeof.ObjectGraphWalker] [pool-12-thread-1] - The JVM is preventing Ehcache from accessing the subgraph beneath 'private final byte[] java.lang.String.value' - cache sizes may be underestimated as a result 
java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @2bffa76d
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
	at org.ehcache.sizeof.ObjectGraphWalker.getAllFields(ObjectGraphWalker.java:245)
	at org.ehcache.sizeof.ObjectGraphWalker.getFilteredFields(ObjectGraphWalker.java:204)
	at org.ehcache.sizeof.ObjectGraphWalker.walk(ObjectGraphWalker.java:159)
	at org.ehcache.sizeof.SizeOf.deepSizeOf(SizeOf.java:74)

Can you try:

export JDK_JAVA_OPTIONS="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"

Ref: ehcache/ehcache3#3008

Ok, it seems like the only JDK_JAVA_OPTIONS we need are "--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED". We don't need all of them. Please update the option in the PR.

The ref seems incorrect by the way.

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from d371b91 to 4f24c90 Compare May 5, 2026 06:58
@bobbai00
Copy link
Copy Markdown
Contributor Author

bobbai00 commented May 5, 2026

Mirror:
After switching to Java 17 and running the workflows, this error occurred:

[2026-05-04 22:46:53,334] [WARN] [org.ehcache.sizeof.ObjectGraphWalker] [pool-12-thread-1] - The JVM is preventing Ehcache from accessing the subgraph beneath 'private final byte[] java.lang.String.value' - cache sizes may be underestimated as a result 
java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @2bffa76d
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
	at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
	at org.ehcache.sizeof.ObjectGraphWalker.getAllFields(ObjectGraphWalker.java:245)
	at org.ehcache.sizeof.ObjectGraphWalker.getFilteredFields(ObjectGraphWalker.java:204)
	at org.ehcache.sizeof.ObjectGraphWalker.walk(ObjectGraphWalker.java:159)
	at org.ehcache.sizeof.SizeOf.deepSizeOf(SizeOf.java:74)

Can you try:

export JDK_JAVA_OPTIONS="--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"

Ref: ehcache/ehcache3#3008

Ok, it seems like the only JDK_JAVA_OPTIONS we need are "--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED". We don't need all of them. Please update the option in the PR.

The ref seems incorrect by the way.

Fixed.

@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from 2eea970 to cb03534 Compare May 5, 2026 09:00
Java 11 premier support has ended and the temurin:11-* base images
accumulate fixable critical/high CVEs flagged by Docker Hub. Java 17 is
an active LTS through Sep 2029 and unblocks libraries that already
require 17+.

- bin/*.dockerfile (8 services): build base
  sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 ->
  ...-17.0.5_8_1.9.3_2.13.11; runtime eclipse-temurin:11-{jdk,jre}-jammy
  -> 17-{jdk,jre}-jammy.
- computing-unit-master/worker: add ENV JDK_JAVA_OPTIONS="--add-opens=
  java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED" so Apache
  Arrow's off-heap memory module keeps working under Java 17's strong
  encapsulation.
- .github/workflows/build.yml + build-and-push-images.yml: java-version
  11 -> 17 (matrix and setup-java steps).
- AGENTS.md: toolchain table.

Refs discussion apache#4001. Closes apache#4937.
@bobbai00 bobbai00 force-pushed the feat/bump-java-17 branch from cb03534 to ae79618 Compare May 5, 2026 09:04
@Yicong-Huang
Copy link
Copy Markdown
Contributor

This CI run never finishes. I canceled it after 5 hours. https://github.com/apache/texera/actions/runs/25367504114/job/74383231727

Mirror Apache Pekko's project/JdkOptions.scala pattern: keep the
required --add-opens flags in one sbt-side place and apply them via
Test / javaOptions on the amber subproject (with Test / fork := true).
This makes `sbt test` work out of the box on JDK 17 — no workflow env
var needed, and local devs running tests on JDK 17 don't need to
remember to export anything.

- project/JdkOptions.scala: 5 opens (4 from Pekko + java.util for
  Ehcache SizeOf used by Tuple.inMemSize).
- amber/build.sbt: Test / fork := true, Test / javaOptions ++=
  JdkOptions.versionSpecificJavaOptions.
- .github/workflows/build.yml: drop JDK_JAVA_OPTIONS env from amber,
  amber-integration, and platform jobs.

Dockerfile ENV and IntelliJ run configs are unchanged — they're not
sbt-driven.
@github-actions github-actions Bot added engine dependencies Pull requests that update a dependency file common labels May 5, 2026
bobbai00 and others added 2 commits May 5, 2026 13:24
The previous commit only set Test / fork + javaOptions in amber's own
build.sbt, but ArrowUtilsSpec lives under common/workflow-core and
common/workflow-operator. When the CI invokes WorkflowCore/jacoco and
WorkflowOperator/jacoco those tests still ran without --add-opens and
failed at MemoryUtil init.

Move the settings to ThisBuild scope in the root build.sbt so every
subproject's test JVM forks with the same flags; drop the now-duplicate
amber/build.sbt block.
@github-actions github-actions Bot removed the engine label May 5, 2026
bobbai00 added 2 commits May 5, 2026 16:47
Forking changed the test JVM's CWD to the subproject directory, so
tests reading repo-root-relative paths (e.g. MockTexeraDB ->
sql/texera_ddl.sql) failed with NoSuchFileException. Set
ThisBuild / Test / baseDirectory back to the build root.
Earlier commits introduced Test / fork := true and a JdkOptions plugin
to inject JDK 17 --add-opens flags. Forking changed the test JVM's
CWD to each subproject directory, which broke tests that read
repo-root-relative paths (sql/texera_ddl.sql from MockTexeraDB), and
required a baseDirectory pin to fix.

Replace all of that with a single .jvmopts at the repo root: sbt's
launcher reads it and applies the flags to sbt's own JVM startup. With
Test / fork at its default (false), tests run in sbt's JVM and inherit
the flags — no fork overhead, no CWD change, no baseDirectory pin, no
sbt plugin file.

Drops:
  - project/JdkOptions.scala
  - ThisBuild / Test / fork := true
  - ThisBuild / Test / javaOptions ++= ...
  - ThisBuild / Test / baseDirectory := ...

Adds:
  - .jvmopts (5 --add-opens lines, attribution comments)
@github-actions github-actions Bot removed dependencies Pull requests that update a dependency file common labels May 5, 2026
bobbai00 and others added 2 commits May 5, 2026 21:36
# Conflicts:
#	bin/computing-unit-master.dockerfile
#	bin/computing-unit-worker.dockerfile
Comment thread .jvmopts
#
# JDK 17+ --add-opens flags required by:
# - Apache Pekko (dispatcher / mailbox / scheduler use sun.misc.Unsafe
# via jdk.internal.misc, plus java.lang for virtual threads and
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we have virtual threads?

Comment thread .jvmopts
# JDK 17+ --add-opens flags required by:
# - Apache Pekko (dispatcher / mailbox / scheduler use sun.misc.Unsafe
# via jdk.internal.misc, plus java.lang for virtual threads and
# sun.nio.ch for Aeron / NIO channels).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we have Aeron / NIO channels?

Comment thread .jvmopts
@@ -0,0 +1,18 @@
# JVM options for sbt's launcher script. Read by `sbt` from the build
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a header for this file.

@Yicong-Huang
Copy link
Copy Markdown
Contributor

Yicong-Huang commented May 6, 2026

The amber run again hangs and drains our CI. canceled manually. please check https://github.com/apache/texera/actions/runs/25420608272/job/74561719299?pr=4938 @bobbai00 @aglinxinyuan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci changes related to CI dev docs Changes related to documentations feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump Scala/Java services to Java 17 LTS

4 participants