Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build-and-push-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11
java-version: 17

- name: Setup sbt launcher
uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1.1.22
Expand Down Expand Up @@ -325,7 +325,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11
java-version: 17

- name: Setup sbt launcher
uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1.1.22
Expand Down Expand Up @@ -405,7 +405,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 11
java-version: 17

- name: Setup sbt launcher
uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1.1.22
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04]
java-version: [11]
java-version: [17]
runs-on: ${{ matrix.os }}
env:
JAVA_OPTS: -Xms2048M -Xmx2048M -Xss6M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
Expand Down Expand Up @@ -175,7 +175,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Create Databases
# Must run before any sbt compile step: the build's JOOQ source
# generators connect to texera_db while compiling.
Expand Down Expand Up @@ -262,7 +262,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-22.04]
java-version: [11]
java-version: [17]
runs-on: ${{ matrix.os }}
env:
JAVA_OPTS: -Xms2048M -Xmx2048M -Xss6M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
Expand Down Expand Up @@ -293,7 +293,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Setup Python for Scala-Python integration tests
uses: actions/setup-python@v6
with:
Expand Down Expand Up @@ -405,7 +405,7 @@ jobs:
uses: actions/setup-java@v5
with:
distribution: "temurin"
java-version: 11
java-version: 17
- name: Setup sbt launcher
uses: sbt/setup-sbt@508b753e53cb6095967669e0911487d2b9bc9f41 # v1.1.22
- uses: coursier/cache-action@90c37294538be80a558fd665531fcdc2b467b475 # v8.1.0
Expand Down
34 changes: 34 additions & 0 deletions .jvmopts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# 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.

# root and applied to sbt's own JVM (which also runs the tests when
# Test / fork := false, the default for this project).
#
# 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?

# 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?

# https://github.com/apache/pekko/blob/main/project/JdkOptions.scala
# - Apache Arrow Java off-heap memory (java.nio).
# https://arrow.apache.org/java/main/install.html
# - Ehcache SizeOf reflection used by Tuple.inMemSize (java.lang +
# java.util). Refs discussion #4001.
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
3 changes: 3 additions & 0 deletions .run/ComputingUnitMaster.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ under the License.
<option name="MAIN_CLASS_NAME" value="org.apache.texera.web.ComputingUnitMaster" />
<module name="texera.amber" />
<shortenClasspath name="ARGS_FILE" />
<envs>
<env name="JDK_JAVA_OPTIONS" 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" />
</envs>
<extension name="coverage">
<pattern>
<option name="PATTERN" value="org.apache.texera.web.*" />
Expand Down
3 changes: 3 additions & 0 deletions .run/ComputingUnitWorker.run.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ under the License.
<option name="MAIN_CLASS_NAME" value="org.apache.texera.web.ComputingUnitWorker" />
<module name="texera.amber" />
<shortenClasspath name="ARGS_FILE" />
<envs>
<env name="JDK_JAVA_OPTIONS" 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" />
</envs>
<extension name="coverage">
<pattern>
<option name="PATTERN" value="org.apache.texera.web.*" />
Expand Down
10 changes: 9 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ merge.

| Component | Version |
| --- | --- |
| Java | JDK 11 |
| Java | JDK 17 |
| Scala | 2.13 |
| Python | 3.12 |
| Node | 24 |
Expand All @@ -90,6 +90,14 @@ in [`udf.conf`](common/config/src/main/resources/udf.conf) or
`export UDF_PYTHON_PATH="$(pwd)/../venv312/bin/python"` (env var overrides).
Without it, `sbt` Python-integration tests fail to launch a worker.

When running computing-unit master/worker outside their Docker images on
JDK 17+, also `export JDK_JAVA_OPTIONS="--add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED"`.
Without it, [Apache Arrow Java](https://arrow.apache.org/java/main/install.html)
(off-heap `java.nio` access) and Ehcache `SizeOf` used by `Tuple.inMemSize`
(reflective `java.lang`/`java.util` access) hit `InaccessibleObjectException`
under JDK 17 strong encapsulation
(refs [discussion #4001](https://github.com/apache/texera/discussions/4001)).

### Branch and commit naming

Short, **Conventional Commits**, same shape for branch and commit subject.
Expand Down
4 changes: 2 additions & 2 deletions bin/access-control-service.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -52,7 +52,7 @@ RUN sbt clean AccessControlService/dist
# Unzip the texera binary
RUN unzip access-control-service/target/universal/access-control-service-*.zip -d target/

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera

Expand Down
4 changes: 2 additions & 2 deletions bin/computing-unit-master.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -64,7 +64,7 @@ RUN python3 bin/licensing/concat_license_binary.py amber/LICENSE-binary-combined
amber/LICENSE-binary-java \
amber/LICENSE-binary-python

FROM eclipse-temurin:11-jdk-jammy AS runtime
FROM eclipse-temurin:17-jdk-jammy AS runtime

WORKDIR /texera/amber

Expand Down
4 changes: 2 additions & 2 deletions bin/computing-unit-worker.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -64,7 +64,7 @@ RUN python3 bin/licensing/concat_license_binary.py amber/LICENSE-binary-combined
amber/LICENSE-binary-java \
amber/LICENSE-binary-python

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera/amber

Expand Down
4 changes: 2 additions & 2 deletions bin/config-service.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -52,7 +52,7 @@ RUN sbt clean ConfigService/dist
# Unzip the texera binary
RUN unzip config-service/target/universal/config-service-*.zip -d target/

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera

Expand Down
4 changes: 2 additions & 2 deletions bin/file-service.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -52,7 +52,7 @@ RUN sbt clean FileService/dist
# Unzip the texera binary
RUN unzip file-service/target/universal/file-service-*.zip -d target/

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera

Expand Down
4 changes: 2 additions & 2 deletions bin/texera-web-application.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ RUN echo "nodeLinker: node-modules" >> /frontend/.yarnrc.yml
WORKDIR /frontend
RUN yarn install && yarn run build

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -82,7 +82,7 @@ RUN python3 bin/licensing/concat_license_binary.py amber/LICENSE-binary-combined
amber/LICENSE-binary-java \
amber/LICENSE-binary-frontend

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera/amber
# Copy built frontend files from the build-frontend stage to match FileAssetsBundle path (../../frontend/dist from /texera/amber)
Expand Down
4 changes: 2 additions & 2 deletions bin/workflow-compiling-service.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -52,7 +52,7 @@ RUN sbt clean WorkflowCompilingService/dist
# Unzip the texera binary
RUN unzip workflow-compiling-service/target/universal/workflow-compiling-service-*.zip -d target/

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera

Expand Down
4 changes: 2 additions & 2 deletions bin/workflow-computing-unit-managing-service.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
# completeness or stability of the code, it does indicate that the project
# has yet to be fully endorsed by the ASF.

FROM sbtscala/scala-sbt:eclipse-temurin-jammy-11.0.17_8_1.9.3_2.13.11 AS build
FROM sbtscala/scala-sbt:eclipse-temurin-jammy-17.0.5_8_1.9.3_2.13.11 AS build

# Set working directory
WORKDIR /texera
Expand Down Expand Up @@ -52,7 +52,7 @@ RUN sbt clean ComputingUnitManagingService/dist
# Unzip the texera binary
RUN unzip computing-unit-managing-service/target/universal/computing-unit-managing-service-*.zip -d target/

FROM eclipse-temurin:11-jre-jammy AS runtime
FROM eclipse-temurin:17-jre-jammy AS runtime

WORKDIR /texera

Expand Down
Loading