File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ All notable changes to this project will be documented in this file.
2727- opensearch: Add ` 3.6.0 ` ([ #1549 ] ).
2828- opensearch-dashboards: Add ` 3.6.0 ` ([ #1551 ] ).
2929- spark: Add hbase-connector protobuf classes ([ #1573 ] ).
30+ - java-base: Add ` jvmkill ` ([ #XXXX] ).
3031
3132### Changed
3233
@@ -101,6 +102,7 @@ All notable changes to this project will be documented in this file.
101102[ #1559 ] : https://github.com/stackabletech/docker-images/pull/1559
102103[ #1561 ] : https://github.com/stackabletech/docker-images/pull/1561
103104[ #1564 ] : https://github.com/stackabletech/docker-images/pull/1564
105+ [ #XXXX ] : https://github.com/stackabletech/docker-images/pull/XXXX
104106
105107## [ 26.3.0] - 2026-03-16
106108
Original file line number Diff line number Diff line change 44#
55# Provides the common Java Runtime for SDP products
66#
7+ FROM local-image/java-base/jvmkill AS jvmkill-builder
78FROM local-image/vector
89
910ARG PRODUCT_VERSION
11+ ARG STACKABLE_USER_UID
1012ARG RELEASE_VERSION="1"
1113
1214LABEL name="Stackable image for OpenJDK" \
@@ -57,3 +59,7 @@ ENV JAVA_VERSION=$PRODUCT_VERSION
5759# This variable is supported as of Log4j version 2.10 and
5860# disables the vulnerable feature
5961ENV LOG4J_FORMAT_MSG_NO_LOOKUPS=true
62+
63+ # We are adding jvmkill, as it improves shutdown of the JVM in case it runs out of native threads.
64+ # See https://github.com/stackabletech/docker-images/issues/1578 for motivation/details.
65+ COPY --chown=${STACKABLE_USER_UID}:0 --from=jvmkill-builder /stackable/libjvmkill.so /stackable/libjvmkill.so
Original file line number Diff line number Diff line change 11[versions ."11" .local-images ]
22vector = " 0.55.0"
3+ "java-base/jvmkill" = " 0e410d8-java-11"
34
45[versions ."17" .local-images ]
56vector = " 0.55.0"
7+ "java-base/jvmkill" = " 0e410d8-java-17"
68
79[versions ."21" .local-images ]
810vector = " 0.55.0"
11+ "java-base/jvmkill" = " 0e410d8-java-21"
912
1013[versions ."24" .local-images ]
1114vector = " 0.55.0"
15+ "java-base/jvmkill" = " 0e410d8-java-24"
1216
1317[versions ."25" .local-images ]
1418vector = " 0.55.0"
19+ "java-base/jvmkill" = " 0e410d8-java-25"
Original file line number Diff line number Diff line change 1+ FROM local-image/java-devel
2+
3+ ARG JVMKILL_VERSION
4+
5+ WORKDIR /stackable
6+
7+ COPY --chown=0:0 java-base/jvmkill/stackable/patches/patchable.toml /stackable/src/java-base/jvmkill/stackable/patches/patchable.toml
8+ COPY --chown=0:0 java-base/jvmkill/stackable/patches/${JVMKILL_VERSION} /stackable/src/java-base/jvmkill/stackable/patches/${JVMKILL_VERSION}
9+
10+ RUN <<EOF
11+ cd "$(/stackable/patchable --images-repo-root=src checkout java-base/jvmkill ${JVMKILL_VERSION})"
12+
13+ make
14+
15+ cp libjvmkill.so /stackable/libjvmkill.so
16+
17+ # Clean up build artifacts and temporary files to reduce image size
18+ cd /stackable
19+ rm -rf ./src
20+ EOF
Original file line number Diff line number Diff line change 1+ # jvmkill
2+
3+ Note: There are no upstream tags or releases, so we use the commit hash as release.
4+
5+ We are using https://github.com/airlift/jvmkill over https://github.com/cloudfoundry/jvmkill .
6+
7+ ` cloudfoundry/jvmkill ` is re-written in Rust, but hasn't seen a commit since 4 years.
8+ Also, the official Trino docker image uses ` airlift/jvmkill ` as well.
Original file line number Diff line number Diff line change 1+ [versions ."0e410d8-java-11" .local-images ]
2+ java-devel = " 11"
3+ [versions ."0e410d8-java-11" .build-arguments ]
4+ jvmkill-version = " 0e410d8"
5+
6+ [versions ."0e410d8-java-17" .local-images ]
7+ java-devel = " 17"
8+ [versions ."0e410d8-java-17" .build-arguments ]
9+ jvmkill-version = " 0e410d8"
10+
11+ [versions ."0e410d8-java-21" .local-images ]
12+ java-devel = " 21"
13+ [versions ."0e410d8-java-21" .build-arguments ]
14+ jvmkill-version = " 0e410d8"
15+
16+ [versions ."0e410d8-java-24" .local-images ]
17+ java-devel = " 24"
18+ [versions ."0e410d8-java-24" .build-arguments ]
19+ jvmkill-version = " 0e410d8"
20+
21+ [versions ."0e410d8-java-25" .local-images ]
22+ java-devel = " 25"
23+ [versions ."0e410d8-java-25" .build-arguments ]
24+ jvmkill-version = " 0e410d8"
Original file line number Diff line number Diff line change 1+ mirror = " https://github.com/stackabletech/jvmkill.git"
2+ base = " 0e410d875e2f4b5d5dfc74d3c145f771bfd69cc2"
Original file line number Diff line number Diff line change 1+ upstream = " https://github.com/airlift/jvmkill.git"
2+ default-mirror = " https://github.com/stackabletech/jvmkill.git"
You can’t perform that action at this time.
0 commit comments