From 1b72c8d8548165081c7e2df7ae1ab56f58ad9888 Mon Sep 17 00:00:00 2001 From: Andrew Kenworthy Date: Thu, 8 Oct 2026 11:31:32 +0200 Subject: [PATCH 1/2] chore(precompiled/hadoop): update hadoop versions --- precompiled/hadoop/boil-config.toml | 12 +- ...ose-jwt-to-9.37.4-to-fix-CVE-2025-53.patch | 37 --- .../0001-YARN-11527-Update-node.js.patch | 14 +- ...ding-datanode-registration-addresses.patch | 10 +- ...ync-profiler-also-grab-itimer-events.patch | 4 +- ...issing-operationType-for-some-operat.patch | 4 +- .../0005-Update-CycloneDX-plugin.patch | 4 +- ...adoop-OSS-Connector-adds-support-for.patch | 16 +- ...-11873-Update-nodejs-to-LTS-version.patch} | 16 +- ...or-hostname-resolution-bug-with-data.patch | 48 ++++ .../patches/{3.4.2 => 3.4.3}/patchable.toml | 2 +- .../0001-YARN-11527-Update-node.js.patch | 22 ++ ...ding-datanode-registration-addresses.patch | 259 ++++++++++++++++++ ...ync-profiler-also-grab-itimer-events.patch | 29 ++ .../3.5.0/0004-Update-CycloneDX-plugin.patch | 35 +++ ...N-11873-Update-nodejs-to-LTS-version.patch | 22 ++ ...or-hostname-resolution-bug-with-data.patch | 48 ++++ .../stackable/patches/3.5.0/patchable.toml | 2 + 18 files changed, 509 insertions(+), 75 deletions(-) delete mode 100644 precompiled/hadoop/stackable/patches/3.4.2/0007-Upgrade-nimbus-jose-jwt-to-9.37.4-to-fix-CVE-2025-53.patch rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/0001-YARN-11527-Update-node.js.patch (60%) rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/0002-Allow-overriding-datanode-registration-addresses.patch (98%) rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/0003-Async-profiler-also-grab-itimer-events.patch (91%) rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch (98%) rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/0005-Update-CycloneDX-plugin.patch (94%) rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch (96%) rename precompiled/hadoop/stackable/patches/{3.4.2/0008-YARN-11873-Update-nodejs-to-LTS-version.patch => 3.4.3/0007-YARN-11873-Update-nodejs-to-LTS-version.patch} (55%) create mode 100644 precompiled/hadoop/stackable/patches/3.4.3/0008-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch rename precompiled/hadoop/stackable/patches/{3.4.2 => 3.4.3}/patchable.toml (52%) create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/0001-YARN-11527-Update-node.js.patch create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/0002-Allow-overriding-datanode-registration-addresses.patch create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/0003-Async-profiler-also-grab-itimer-events.patch create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/0004-Update-CycloneDX-plugin.patch create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/0005-YARN-11873-Update-nodejs-to-LTS-version.patch create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/0006-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch create mode 100644 precompiled/hadoop/stackable/patches/3.5.0/patchable.toml diff --git a/precompiled/hadoop/boil-config.toml b/precompiled/hadoop/boil-config.toml index 7aa9fbeb6..d72d8500c 100644 --- a/precompiled/hadoop/boil-config.toml +++ b/precompiled/hadoop/boil-config.toml @@ -4,8 +4,14 @@ java-devel = "11" [versions."3.3.6".build-arguments] protobuf-version = "3.7.1" -[versions."3.4.2".local-images] +[versions."3.4.3".local-images] java-devel = "11" -[versions."3.4.2".build-arguments] -protobuf-version = "3.7.1" +[versions."3.4.3".build-arguments] +protobuf-version = "3.21.12" + +[versions."3.5.0".local-images] +java-devel = "17" + +[versions."3.5.0".build-arguments] +protobuf-version = "3.25.5" diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0007-Upgrade-nimbus-jose-jwt-to-9.37.4-to-fix-CVE-2025-53.patch b/precompiled/hadoop/stackable/patches/3.4.2/0007-Upgrade-nimbus-jose-jwt-to-9.37.4-to-fix-CVE-2025-53.patch deleted file mode 100644 index c6bc3e1ed..000000000 --- a/precompiled/hadoop/stackable/patches/3.4.2/0007-Upgrade-nimbus-jose-jwt-to-9.37.4-to-fix-CVE-2025-53.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 95beed1d7436d51e4c8655be107e6c527a1c0eaa Mon Sep 17 00:00:00 2001 -From: xeniape -Date: Thu, 11 Sep 2025 12:12:12 +0200 -Subject: Upgrade-nimbus-jose-jwt-to-9.37.4-to-fix-CVE-2025-53864, Upstream - reference: https://github.com/apache/hadoop/pull/7870 - ---- - LICENSE-binary | 2 +- - hadoop-project/pom.xml | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/LICENSE-binary b/LICENSE-binary -index 3ad4b30045..07f4e5a45f 100644 ---- a/LICENSE-binary -+++ b/LICENSE-binary -@@ -240,7 +240,7 @@ com.google.guava:guava:20.0 - com.google.guava:guava:32.0.1-jre - com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - com.microsoft.azure:azure-storage:7.0.0 --com.nimbusds:nimbus-jose-jwt:9.37.2 -+com.nimbusds:nimbus-jose-jwt:9.37.4 - com.zaxxer:HikariCP:4.0.3 - commons-beanutils:commons-beanutils:1.9.4 - commons-cli:commons-cli:1.9.0 -diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml -index 6d05a218d0..2e21ff7394 100644 ---- a/hadoop-project/pom.xml -+++ b/hadoop-project/pom.xml -@@ -233,7 +233,7 @@ - 2.1.4.Final - 1.0.2 - 5.4.0 -- 9.37.2 -+ 9.37.4 - v14.17.0 - v1.22.5 - 1.10.13 diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0001-YARN-11527-Update-node.js.patch b/precompiled/hadoop/stackable/patches/3.4.3/0001-YARN-11527-Update-node.js.patch similarity index 60% rename from precompiled/hadoop/stackable/patches/3.4.2/0001-YARN-11527-Update-node.js.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0001-YARN-11527-Update-node.js.patch index 497600fa1..9d08b7c2c 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0001-YARN-11527-Update-node.js.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0001-YARN-11527-Update-node.js.patch @@ -1,6 +1,6 @@ -From c4dbb05b4f92f93c7e8f11d6a622b73f40f4664c Mon Sep 17 00:00:00 2001 -From: xeniape -Date: Wed, 10 Sep 2025 14:18:38 +0200 +From 7ad31a922a9fbcecd884b4bdf5c416f6b0ea539e Mon Sep 17 00:00:00 2001 +From: Sebastian Bernauer +Date: Tue, 26 May 2026 15:40:40 +0200 Subject: YARN-11527-Update-node.js --- @@ -8,13 +8,13 @@ Subject: YARN-11527-Update-node.js 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml -index b9eacd5ba3..70f64bf55c 100644 +index 0813904f98a..f837b1f5201 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml -@@ -234,7 +234,7 @@ - 1.0.2 +@@ -236,7 +236,7 @@ 5.4.0 - 9.37.2 + 10.4 + 1.0-1 - v12.22.1 + v14.17.0 v1.22.5 diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0002-Allow-overriding-datanode-registration-addresses.patch b/precompiled/hadoop/stackable/patches/3.4.3/0002-Allow-overriding-datanode-registration-addresses.patch similarity index 98% rename from precompiled/hadoop/stackable/patches/3.4.2/0002-Allow-overriding-datanode-registration-addresses.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0002-Allow-overriding-datanode-registration-addresses.patch index 0f2b9d916..508dbe02a 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0002-Allow-overriding-datanode-registration-addresses.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0002-Allow-overriding-datanode-registration-addresses.patch @@ -1,4 +1,4 @@ -From adc337817824ba29e7eb669c13730acdbb0b9630 Mon Sep 17 00:00:00 2001 +From d1266f7390327e1882f2646ffe595a961b56b592 Mon Sep 17 00:00:00 2001 From: xeniape Date: Wed, 10 Sep 2025 14:36:20 +0200 Subject: Allow-overriding-datanode-registration-addresses @@ -11,7 +11,7 @@ Subject: Allow-overriding-datanode-registration-addresses 4 files changed, 135 insertions(+), 22 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java -index f92a2ad565..25bcd438c7 100755 +index 6375778e4ea..7d49fbcfaa3 100755 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java @@ -152,6 +152,13 @@ public class DFSConfigKeys extends CommonConfigurationKeys { @@ -38,7 +38,7 @@ index f92a2ad565..25bcd438c7 100755 public static final boolean DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_DEFAULT = true; diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java -index ebd2fa992e..c56f254478 100644 +index ebd2fa992e9..c56f254478b 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java @@ -181,6 +181,8 @@ public class DatanodeManager { @@ -110,7 +110,7 @@ index ebd2fa992e..c56f254478 100644 // it will be disallowed from registering. if (!hostConfigManager.isIncluded(nodeReg)) { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java -index 21b92db307..5d3437239c 100644 +index 21b92db3073..5d3437239ce 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java @@ -101,6 +101,11 @@ public class DNConf { @@ -205,7 +205,7 @@ index 21b92db307..5d3437239c 100644 * Returns socket timeout * diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java -index 956f5bbe51..22ae127d98 100644 +index 956f5bbe519..22ae127d98d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java @@ -135,6 +135,7 @@ import java.util.HashSet; diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0003-Async-profiler-also-grab-itimer-events.patch b/precompiled/hadoop/stackable/patches/3.4.3/0003-Async-profiler-also-grab-itimer-events.patch similarity index 91% rename from precompiled/hadoop/stackable/patches/3.4.2/0003-Async-profiler-also-grab-itimer-events.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0003-Async-profiler-also-grab-itimer-events.patch index 5191b1465..3cbccd3cd 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0003-Async-profiler-also-grab-itimer-events.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0003-Async-profiler-also-grab-itimer-events.patch @@ -1,4 +1,4 @@ -From ab9550bd7b71c16c381a105a22732f6e71f2dba6 Mon Sep 17 00:00:00 2001 +From 8f29f6a32a0685577023398af3e7b2854ad47e96 Mon Sep 17 00:00:00 2001 From: xeniape Date: Wed, 10 Sep 2025 14:39:20 +0200 Subject: Async-profiler-also-grab-itimer-events @@ -8,7 +8,7 @@ Subject: Async-profiler-also-grab-itimer-events 1 file changed, 2 insertions(+) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java -index ce53274151..909892ff90 100644 +index ce532741512..909892ff903 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java @@ -76,6 +76,7 @@ import org.apache.hadoop.util.ProcessUtils; diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch b/precompiled/hadoop/stackable/patches/3.4.3/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch similarity index 98% rename from precompiled/hadoop/stackable/patches/3.4.2/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch index f210f7c62..1e5dd00b1 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0004-HDFS-17378-Fix-missing-operationType-for-some-operat.patch @@ -1,4 +1,4 @@ -From 2b131b13ad062695d5de8840be744900fa4a71c1 Mon Sep 17 00:00:00 2001 +From a79df04a30b4477372e850a7628bd47dcb665955 Mon Sep 17 00:00:00 2001 From: xeniape Date: Wed, 10 Sep 2025 14:40:41 +0200 Subject: HDFS-17378-Fix-missing-operationType-for-some-operat @@ -8,7 +8,7 @@ Subject: HDFS-17378-Fix-missing-operationType-for-some-operat 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java -index cfc7f24381..e9c5fc0da2 100644 +index cfc7f24381f..e9c5fc0da25 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -2618,15 +2618,16 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0005-Update-CycloneDX-plugin.patch b/precompiled/hadoop/stackable/patches/3.4.3/0005-Update-CycloneDX-plugin.patch similarity index 94% rename from precompiled/hadoop/stackable/patches/3.4.2/0005-Update-CycloneDX-plugin.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0005-Update-CycloneDX-plugin.patch index 39dd0f143..b479c49c2 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0005-Update-CycloneDX-plugin.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0005-Update-CycloneDX-plugin.patch @@ -1,4 +1,4 @@ -From 18a413bfaec1acd447b070538be994ea9691899a Mon Sep 17 00:00:00 2001 +From a1b7a73b7ebe8ad84ab3f417d2b475dd2b51c192 Mon Sep 17 00:00:00 2001 From: xeniape Date: Wed, 10 Sep 2025 14:41:18 +0200 Subject: Update-CycloneDX-plugin @@ -8,7 +8,7 @@ Subject: Update-CycloneDX-plugin 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml -index 9a9a0de744..c7838e3674 100644 +index d34fb58e22c..d30fd28be1f 100644 --- a/pom.xml +++ b/pom.xml @@ -121,7 +121,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch b/precompiled/hadoop/stackable/patches/3.4.3/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch similarity index 96% rename from precompiled/hadoop/stackable/patches/3.4.2/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch index f8e486155..1cd05abc0 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0006-HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for.patch @@ -1,4 +1,4 @@ -From e67476ea801e929feb3d89d023d915efbf82336f Mon Sep 17 00:00:00 2001 +From 701aa813622cc8f78ac5c49ba9c4a9d638596657 Mon Sep 17 00:00:00 2001 From: xeniape Date: Wed, 10 Sep 2025 14:41:46 +0200 Subject: HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for- @@ -14,10 +14,10 @@ Subject: HADOOP-19352.-Hadoop-OSS-Connector-adds-support-for- create mode 100644 hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/ITAliyunOSSSignatureV4.java diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml -index 70f64bf55c..6d05a218d0 100644 +index f837b1f5201..f8c7f2388f3 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml -@@ -1663,7 +1663,7 @@ +@@ -1692,7 +1692,7 @@ com.aliyun.oss aliyun-sdk-oss @@ -27,7 +27,7 @@ index 70f64bf55c..6d05a218d0 100644 org.apache.httpcomponents diff --git a/hadoop-tools/hadoop-aliyun/pom.xml b/hadoop-tools/hadoop-aliyun/pom.xml -index c2e04623ad..5b12e4a4ef 100644 +index 50d6d4576c5..42fa66976af 100644 --- a/hadoop-tools/hadoop-aliyun/pom.xml +++ b/hadoop-tools/hadoop-aliyun/pom.xml @@ -165,5 +165,31 @@ @@ -63,7 +63,7 @@ index c2e04623ad..5b12e4a4ef 100644 diff --git a/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSFileSystemStore.java b/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSFileSystemStore.java -index ccd5d1ea25..30da259fd5 100644 +index ccd5d1ea25c..30da259fd51 100644 --- a/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSFileSystemStore.java +++ b/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/AliyunOSSFileSystemStore.java @@ -73,6 +73,7 @@ import java.util.List; @@ -104,7 +104,7 @@ index ccd5d1ea25..30da259fd5 100644 int listVersion = conf.getInt(LIST_VERSION, DEFAULT_LIST_VERSION); if (listVersion < 1 || listVersion > 2) { diff --git a/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/Constants.java b/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/Constants.java -index baeb919937..176669ed15 100644 +index baeb9199377..176669ed152 100644 --- a/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/Constants.java +++ b/hadoop-tools/hadoop-aliyun/src/main/java/org/apache/hadoop/fs/aliyun/oss/Constants.java @@ -211,4 +211,19 @@ public final class Constants { @@ -129,7 +129,7 @@ index baeb919937..176669ed15 100644 } diff --git a/hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/ITAliyunOSSSignatureV4.java b/hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/ITAliyunOSSSignatureV4.java new file mode 100644 -index 0000000000..5070f2a581 +index 00000000000..5070f2a5816 --- /dev/null +++ b/hadoop-tools/hadoop-aliyun/src/test/java/org/apache/hadoop/fs/aliyun/oss/ITAliyunOSSSignatureV4.java @@ -0,0 +1,98 @@ @@ -232,7 +232,7 @@ index 0000000000..5070f2a581 + } +} diff --git a/hadoop-tools/hadoop-aliyun/src/test/resources/log4j.properties b/hadoop-tools/hadoop-aliyun/src/test/resources/log4j.properties -index bb5cbe5ec3..2167f68811 100644 +index bb5cbe5ec32..2167f68811a 100644 --- a/hadoop-tools/hadoop-aliyun/src/test/resources/log4j.properties +++ b/hadoop-tools/hadoop-aliyun/src/test/resources/log4j.properties @@ -21,3 +21,6 @@ log4j.threshold=ALL diff --git a/precompiled/hadoop/stackable/patches/3.4.2/0008-YARN-11873-Update-nodejs-to-LTS-version.patch b/precompiled/hadoop/stackable/patches/3.4.3/0007-YARN-11873-Update-nodejs-to-LTS-version.patch similarity index 55% rename from precompiled/hadoop/stackable/patches/3.4.2/0008-YARN-11873-Update-nodejs-to-LTS-version.patch rename to precompiled/hadoop/stackable/patches/3.4.3/0007-YARN-11873-Update-nodejs-to-LTS-version.patch index f70f2de50..05965b1e5 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/0008-YARN-11873-Update-nodejs-to-LTS-version.patch +++ b/precompiled/hadoop/stackable/patches/3.4.3/0007-YARN-11873-Update-nodejs-to-LTS-version.patch @@ -1,20 +1,20 @@ -From 08a7206a29f212e1f0e3bd81e0cb0be7907907a4 Mon Sep 17 00:00:00 2001 -From: Andrew Kenworthy -Date: Wed, 1 Oct 2025 17:28:41 +0200 -Subject: Update nodejs to LTS version +From 8177d73d3dd9260f36c8bd349a0b6602e1a8fc2c Mon Sep 17 00:00:00 2001 +From: Sebastian Bernauer +Date: Tue, 26 May 2026 15:43:29 +0200 +Subject: YARN-11873 Update nodejs to LTS version --- hadoop-project/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml -index 2e21ff7394..a7d5faf760 100644 +index f8c7f2388f3..4522eea9fe0 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml -@@ -234,7 +234,7 @@ - 1.0.2 +@@ -236,7 +236,7 @@ 5.4.0 - 9.37.4 + 10.4 + 1.0-1 - v14.17.0 + v22.20.0 v1.22.5 diff --git a/precompiled/hadoop/stackable/patches/3.4.3/0008-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch b/precompiled/hadoop/stackable/patches/3.4.3/0008-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch new file mode 100644 index 000000000..7e036ad78 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.4.3/0008-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch @@ -0,0 +1,48 @@ +From dff0783ae6c7026515a264bbf0fda137331a2864 Mon Sep 17 00:00:00 2001 +From: Jim Halfpenny +Date: Mon, 16 Mar 2026 09:18:46 +0000 +Subject: HDFS-17891 fix for hostname resolution bug with datanodes + +--- + .../hadoop/hdfs/server/blockmanagement/HostSet.java | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java +index d12e5fbae13..3da753f1cb0 100644 +--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java ++++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java +@@ -18,10 +18,11 @@ + package org.apache.hadoop.hdfs.server.blockmanagement; + + +-import org.apache.hadoop.util.Preconditions; + import org.apache.hadoop.thirdparty.com.google.common.collect.HashMultimap; + import org.apache.hadoop.thirdparty.com.google.common.collect.Multimap; + import org.apache.hadoop.thirdparty.com.google.common.collect.UnmodifiableIterator; ++import org.slf4j.Logger; ++import org.slf4j.LoggerFactory; + + import java.net.InetAddress; + import java.net.InetSocketAddress; +@@ -38,6 +39,8 @@ import java.util.Map; + * .getPort() || B.getPort() == 0. + */ + public class HostSet implements Iterable { ++ private static final Logger LOG = LoggerFactory.getLogger(HostSet.class); ++ + // Host -> lists of ports + private final Multimap addrs = HashMultimap.create(); + +@@ -72,7 +75,11 @@ public class HostSet implements Iterable { + } + + void add(InetSocketAddress addr) { +- Preconditions.checkArgument(!addr.isUnresolved()); ++ LOG.debug("Adding address to HostSet: {}", addr); ++ if (addr.isUnresolved()) { ++ LOG.warn("Unresolved address not added to HostSet: {}", addr); ++ return; ++ } + addrs.put(addr.getAddress(), addr.getPort()); + } + diff --git a/precompiled/hadoop/stackable/patches/3.4.2/patchable.toml b/precompiled/hadoop/stackable/patches/3.4.3/patchable.toml similarity index 52% rename from precompiled/hadoop/stackable/patches/3.4.2/patchable.toml rename to precompiled/hadoop/stackable/patches/3.4.3/patchable.toml index 07e7ae331..45b693b8a 100644 --- a/precompiled/hadoop/stackable/patches/3.4.2/patchable.toml +++ b/precompiled/hadoop/stackable/patches/3.4.3/patchable.toml @@ -1,2 +1,2 @@ mirror = "https://github.com/stackabletech/hadoop.git" -base = "84e8b89ee2ebe6923691205b9e171badde7a495c" +base = "9d50c6884666e794e45102260a4017bb31802e1b" diff --git a/precompiled/hadoop/stackable/patches/3.5.0/0001-YARN-11527-Update-node.js.patch b/precompiled/hadoop/stackable/patches/3.5.0/0001-YARN-11527-Update-node.js.patch new file mode 100644 index 000000000..14faf2a73 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/0001-YARN-11527-Update-node.js.patch @@ -0,0 +1,22 @@ +From 151c1c7e4e47849a940c6c60896269f1c7bc11c8 Mon Sep 17 00:00:00 2001 +From: Sebastian Bernauer +Date: Tue, 26 May 2026 15:40:40 +0200 +Subject: YARN-11527-Update-node.js + +--- + hadoop-project/pom.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml +index 4b9c22319cb..23657fb6e80 100644 +--- a/hadoop-project/pom.xml ++++ b/hadoop-project/pom.xml +@@ -236,7 +236,7 @@ + 5.4.0 + 10.4 + 1.0-1 +- v12.22.1 ++ v14.17.0 + v1.22.5 + 1.10.13 + 1.20 diff --git a/precompiled/hadoop/stackable/patches/3.5.0/0002-Allow-overriding-datanode-registration-addresses.patch b/precompiled/hadoop/stackable/patches/3.5.0/0002-Allow-overriding-datanode-registration-addresses.patch new file mode 100644 index 000000000..69ce7c696 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/0002-Allow-overriding-datanode-registration-addresses.patch @@ -0,0 +1,259 @@ +From 7e5fff59ac2e2e73a6ede36fb4618c92ddf71302 Mon Sep 17 00:00:00 2001 +From: xeniape +Date: Wed, 10 Sep 2025 14:36:20 +0200 +Subject: Allow-overriding-datanode-registration-addresses + +--- + .../org/apache/hadoop/hdfs/DFSConfigKeys.java | 9 +++ + .../blockmanagement/DatanodeManager.java | 43 +++++++----- + .../hadoop/hdfs/server/datanode/DNConf.java | 70 +++++++++++++++++++ + .../hadoop/hdfs/server/datanode/DataNode.java | 35 ++++++++-- + 4 files changed, 135 insertions(+), 22 deletions(-) + +diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java +index 96226f45f6a..2dd29176df7 100755 +--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java ++++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java +@@ -154,6 +154,13 @@ public class DFSConfigKeys extends CommonConfigurationKeys { + public static final boolean DFS_DATANODE_DROP_CACHE_BEHIND_READS_DEFAULT = false; + public static final String DFS_DATANODE_USE_DN_HOSTNAME = "dfs.datanode.use.datanode.hostname"; + public static final boolean DFS_DATANODE_USE_DN_HOSTNAME_DEFAULT = false; ++ ++ public static final String DFS_DATANODE_REGISTERED_HOSTNAME = "dfs.datanode.registered.hostname"; ++ public static final String DFS_DATANODE_REGISTERED_DATA_PORT = "dfs.datanode.registered.port"; ++ public static final String DFS_DATANODE_REGISTERED_HTTP_PORT = "dfs.datanode.registered.http.port"; ++ public static final String DFS_DATANODE_REGISTERED_HTTPS_PORT = "dfs.datanode.registered.https.port"; ++ public static final String DFS_DATANODE_REGISTERED_IPC_PORT = "dfs.datanode.registered.ipc.port"; ++ + public static final String DFS_DATANODE_MAX_LOCKED_MEMORY_KEY = "dfs.datanode.max.locked.memory"; + public static final long DFS_DATANODE_MAX_LOCKED_MEMORY_DEFAULT = 0; + public static final String DFS_DATANODE_FSDATASETCACHE_MAX_THREADS_PER_VOLUME_KEY = "dfs.datanode.fsdatasetcache.max.threads.per.volume"; +@@ -502,6 +509,8 @@ public class DFSConfigKeys extends CommonConfigurationKeys { + public static final long DFS_DATANODE_PROCESS_COMMANDS_THRESHOLD_DEFAULT = + TimeUnit.SECONDS.toMillis(2); + ++ public static final String DFS_NAMENODE_DATANODE_REGISTRATION_UNSAFE_ALLOW_ADDRESS_OVERRIDE_KEY = "dfs.namenode.datanode.registration.unsafe.allow-address-override"; ++ public static final boolean DFS_NAMENODE_DATANODE_REGISTRATION_UNSAFE_ALLOW_ADDRESS_OVERRIDE_DEFAULT = false; + public static final String DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_KEY = "dfs.namenode.datanode.registration.ip-hostname-check"; + public static final boolean DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_DEFAULT = true; + +diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java +index 01f1af9624d..4e7c722d03f 100644 +--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java ++++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/DatanodeManager.java +@@ -182,6 +182,8 @@ public class DatanodeManager { + private boolean hasClusterEverBeenMultiRack = false; + + private final boolean checkIpHostnameInRegistration; ++ private final boolean allowRegistrationAddressOverride; ++ + /** + * Whether we should tell datanodes what to cache in replies to + * heartbeat messages. +@@ -317,6 +319,11 @@ public class DatanodeManager { + // Block invalidate limit also has some dependency on heartbeat interval. + // Check setBlockInvalidateLimit(). + setBlockInvalidateLimit(configuredBlockInvalidateLimit); ++ this.allowRegistrationAddressOverride = conf.getBoolean( ++ DFSConfigKeys.DFS_NAMENODE_DATANODE_REGISTRATION_UNSAFE_ALLOW_ADDRESS_OVERRIDE_KEY, ++ DFSConfigKeys.DFS_NAMENODE_DATANODE_REGISTRATION_UNSAFE_ALLOW_ADDRESS_OVERRIDE_DEFAULT); ++ LOG.info(DFSConfigKeys.DFS_NAMENODE_DATANODE_REGISTRATION_UNSAFE_ALLOW_ADDRESS_OVERRIDE_KEY ++ + "=" + allowRegistrationAddressOverride); + this.checkIpHostnameInRegistration = conf.getBoolean( + DFSConfigKeys.DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_KEY, + DFSConfigKeys.DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_DEFAULT); +@@ -1184,27 +1191,29 @@ public class DatanodeManager { + */ + public void registerDatanode(DatanodeRegistration nodeReg) + throws DisallowedDatanodeException, UnresolvedTopologyException { +- InetAddress dnAddress = Server.getRemoteIp(); +- if (dnAddress != null) { +- // Mostly called inside an RPC, update ip and peer hostname +- String hostname = dnAddress.getHostName(); +- String ip = dnAddress.getHostAddress(); +- if (checkIpHostnameInRegistration && !isNameResolved(dnAddress)) { +- // Reject registration of unresolved datanode to prevent performance +- // impact of repetitive DNS lookups later. +- final String message = "hostname cannot be resolved (ip=" +- + ip + ", hostname=" + hostname + ")"; +- LOG.warn("Unresolved datanode registration: " + message); +- throw new DisallowedDatanodeException(nodeReg, message); ++ if (!allowRegistrationAddressOverride) { ++ InetAddress dnAddress = Server.getRemoteIp(); ++ if (dnAddress != null) { ++ // Mostly called inside an RPC, update ip and peer hostname ++ String hostname = dnAddress.getHostName(); ++ String ip = dnAddress.getHostAddress(); ++ if (checkIpHostnameInRegistration && !isNameResolved(dnAddress)) { ++ // Reject registration of unresolved datanode to prevent performance ++ // impact of repetitive DNS lookups later. ++ final String message = "hostname cannot be resolved (ip=" ++ + ip + ", hostname=" + hostname + ")"; ++ LOG.warn("Unresolved datanode registration: " + message); ++ throw new DisallowedDatanodeException(nodeReg, message); ++ } ++ // update node registration with the ip and hostname from rpc request ++ nodeReg.setIpAddr(ip); ++ nodeReg.setPeerHostName(hostname); + } +- // update node registration with the ip and hostname from rpc request +- nodeReg.setIpAddr(ip); +- nodeReg.setPeerHostName(hostname); + } +- ++ + try { + nodeReg.setExportedKeys(blockManager.getBlockKeys()); +- ++ + // Checks if the node is not on the hosts list. If it is not, then + // it will be disallowed from registering. + if (!hostConfigManager.isIncluded(nodeReg)) { +diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java +index 21b92db3073..5d3437239ce 100644 +--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java ++++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DNConf.java +@@ -101,6 +101,11 @@ public class DNConf { + final boolean syncOnClose; + final boolean encryptDataTransfer; + final boolean connectToDnViaHostname; ++ private final String registeredHostname; ++ private final int registeredDataPort; ++ private final int registeredHttpPort; ++ private final int registeredHttpsPort; ++ private final int registeredIpcPort; + final boolean overwriteDownstreamDerivedQOP; + private final boolean pmemCacheRecoveryEnabled; + +@@ -189,6 +194,11 @@ public class DNConf { + connectToDnViaHostname = getConf().getBoolean( + DFSConfigKeys.DFS_DATANODE_USE_DN_HOSTNAME, + DFSConfigKeys.DFS_DATANODE_USE_DN_HOSTNAME_DEFAULT); ++ registeredHostname = getConf().get(DFSConfigKeys.DFS_DATANODE_REGISTERED_HOSTNAME); ++ registeredDataPort = getConf().getInt(DFSConfigKeys.DFS_DATANODE_REGISTERED_DATA_PORT, -1); ++ registeredHttpPort = getConf().getInt(DFSConfigKeys.DFS_DATANODE_REGISTERED_HTTP_PORT, -1); ++ registeredHttpsPort = getConf().getInt(DFSConfigKeys.DFS_DATANODE_REGISTERED_HTTPS_PORT, -1); ++ registeredIpcPort = getConf().getInt(DFSConfigKeys.DFS_DATANODE_REGISTERED_IPC_PORT, -1); + this.blockReportInterval = getConf().getLong( + DFS_BLOCKREPORT_INTERVAL_MSEC_KEY, + DFS_BLOCKREPORT_INTERVAL_MSEC_DEFAULT); +@@ -363,6 +373,66 @@ public class DNConf { + return connectToDnViaHostname; + } + ++ /** ++ * Returns a hostname to register with the cluster instead of the system ++ * hostname. ++ * This is an expert setting and can be used in multihoming scenarios to ++ * override the detected hostname. ++ * ++ * @return null if the system hostname should be used, otherwise a hostname ++ */ ++ public String getRegisteredHostname() { ++ return registeredHostname; ++ } ++ ++ /** ++ * Returns a port number to register with the cluster instead of the ++ * data port that the node is listening on. ++ * This is an expert setting and can be used in multihoming scenarios to ++ * override the detected port. ++ * ++ * @return -1 if the actual port should be used, otherwise a port number ++ */ ++ public int getRegisteredDataPort() { ++ return registeredDataPort; ++ } ++ ++ /** ++ * Returns a port number to register with the cluster instead of the ++ * HTTP port that the node is listening on. ++ * This is an expert setting and can be used in multihoming scenarios to ++ * override the detected port. ++ * ++ * @return -1 if the actual port should be used, otherwise a port number ++ */ ++ public int getRegisteredHttpPort() { ++ return registeredHttpPort; ++ } ++ ++ /** ++ * Returns a port number to register with the cluster instead of the ++ * HTTPS port that the node is listening on. ++ * This is an expert setting and can be used in multihoming scenarios to ++ * override the detected port. ++ * ++ * @return -1 if the actual port should be used, otherwise a port number ++ */ ++ public int getRegisteredHttpsPort() { ++ return registeredHttpsPort; ++ } ++ ++ /** ++ * Returns a port number to register with the cluster instead of the ++ * IPC port that the node is listening on. ++ * This is an expert setting and can be used in multihoming scenarios to ++ * override the detected port. ++ * ++ * @return -1 if the actual port should be used, otherwise a port number ++ */ ++ public int getRegisteredIpcPort() { ++ return registeredIpcPort; ++ } ++ + /** + * Returns socket timeout + * +diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java +index 3a1b1e07f36..6d4c356dfb6 100644 +--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java ++++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java +@@ -135,6 +135,7 @@ import java.util.HashSet; + import java.util.Iterator; + import java.util.List; + import java.util.Map; ++import java.util.Optional; + import java.util.Map.Entry; + import java.util.Set; + import java.util.UUID; +@@ -2077,11 +2078,35 @@ public class DataNode extends ReconfigurableBase + NodeType.DATA_NODE); + } + +- DatanodeID dnId = new DatanodeID( +- streamingAddr.getAddress().getHostAddress(), hostName, +- storage.getDatanodeUuid(), getXferPort(), getInfoPort(), +- infoSecurePort, getIpcPort()); +- return new DatanodeRegistration(dnId, storageInfo, ++ String registeredHostname = Optional ++ .ofNullable(dnConf.getRegisteredHostname()) ++ .orElseGet(() -> streamingAddr.getAddress().getHostAddress()); ++ int registeredDataPort = dnConf.getRegisteredDataPort(); ++ if (registeredDataPort == -1) { ++ registeredDataPort = getXferPort(); ++ } ++ int registeredHttpPort = dnConf.getRegisteredHttpPort(); ++ if (registeredHttpPort == -1) { ++ registeredHttpPort = getInfoPort(); ++ } ++ int registeredHttpsPort = dnConf.getRegisteredHttpsPort(); ++ if (registeredHttpsPort == -1) { ++ registeredHttpsPort = getInfoSecurePort(); ++ } ++ int registeredIpcPort = dnConf.getRegisteredIpcPort(); ++ if (registeredIpcPort == -1) { ++ registeredIpcPort = getIpcPort(); ++ } ++ ++ DatanodeID dnId = new DatanodeID(registeredHostname, ++ registeredHostname, ++ storage.getDatanodeUuid(), ++ registeredDataPort, ++ registeredHttpPort, ++ registeredHttpsPort, ++ registeredIpcPort); ++ ++ return new DatanodeRegistration(dnId, storageInfo, + new ExportedBlockKeys(), VersionInfo.getVersion()); + } + diff --git a/precompiled/hadoop/stackable/patches/3.5.0/0003-Async-profiler-also-grab-itimer-events.patch b/precompiled/hadoop/stackable/patches/3.5.0/0003-Async-profiler-also-grab-itimer-events.patch new file mode 100644 index 000000000..25acd19ff --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/0003-Async-profiler-also-grab-itimer-events.patch @@ -0,0 +1,29 @@ +From eabd444dec4a472f4d4d3bb1a449799c14aea2d5 Mon Sep 17 00:00:00 2001 +From: xeniape +Date: Wed, 10 Sep 2025 14:39:20 +0200 +Subject: Async-profiler-also-grab-itimer-events + +--- + .../src/main/java/org/apache/hadoop/http/ProfileServlet.java | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java +index ce532741512..909892ff903 100644 +--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java ++++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/http/ProfileServlet.java +@@ -76,6 +76,7 @@ import org.apache.hadoop.util.ProcessUtils; + * Following event types are supported (default is 'cpu') (NOTE: not all OS'es support all events) + * // Perf events: + * // cpu ++ * // itimer + * // page-faults + * // context-switches + * // cycles +@@ -118,6 +119,7 @@ public class ProfileServlet extends HttpServlet { + private enum Event { + + CPU("cpu"), ++ ITIMER("itimer"), + ALLOC("alloc"), + LOCK("lock"), + PAGE_FAULTS("page-faults"), diff --git a/precompiled/hadoop/stackable/patches/3.5.0/0004-Update-CycloneDX-plugin.patch b/precompiled/hadoop/stackable/patches/3.5.0/0004-Update-CycloneDX-plugin.patch new file mode 100644 index 000000000..073949ac1 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/0004-Update-CycloneDX-plugin.patch @@ -0,0 +1,35 @@ +From dce9e64ac4ff8906108a1853e6d1003d3fe9a313 Mon Sep 17 00:00:00 2001 +From: xeniape +Date: Wed, 10 Sep 2025 14:41:18 +0200 +Subject: Update-CycloneDX-plugin + +--- + pom.xml | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/pom.xml b/pom.xml +index bb9fb62180d..62dd33d6485 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -830,6 +830,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x + org.cyclonedx + cyclonedx-maven-plugin + ${cyclonedx.version} ++ ++ application ++ 1.5 ++ false ++ + + + package +@@ -838,9 +843,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/x + + + +- +- xml +- + + + diff --git a/precompiled/hadoop/stackable/patches/3.5.0/0005-YARN-11873-Update-nodejs-to-LTS-version.patch b/precompiled/hadoop/stackable/patches/3.5.0/0005-YARN-11873-Update-nodejs-to-LTS-version.patch new file mode 100644 index 000000000..ae977e796 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/0005-YARN-11873-Update-nodejs-to-LTS-version.patch @@ -0,0 +1,22 @@ +From a8543f42f9cb3d88b7c030df1870de809a07949b Mon Sep 17 00:00:00 2001 +From: Sebastian Bernauer +Date: Tue, 26 May 2026 15:43:29 +0200 +Subject: YARN-11873 Update nodejs to LTS version + +--- + hadoop-project/pom.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml +index 23657fb6e80..0880f5acdb5 100644 +--- a/hadoop-project/pom.xml ++++ b/hadoop-project/pom.xml +@@ -236,7 +236,7 @@ + 5.4.0 + 10.4 + 1.0-1 +- v14.17.0 ++ v22.20.0 + v1.22.5 + 1.10.13 + 1.20 diff --git a/precompiled/hadoop/stackable/patches/3.5.0/0006-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch b/precompiled/hadoop/stackable/patches/3.5.0/0006-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch new file mode 100644 index 000000000..e74826088 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/0006-HDFS-17891-fix-for-hostname-resolution-bug-with-data.patch @@ -0,0 +1,48 @@ +From 065f4c5ccbd462ee04fb7a63fb38026c7c7d0628 Mon Sep 17 00:00:00 2001 +From: Jim Halfpenny +Date: Mon, 16 Mar 2026 09:18:46 +0000 +Subject: HDFS-17891 fix for hostname resolution bug with datanodes + +--- + .../hadoop/hdfs/server/blockmanagement/HostSet.java | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java +index d12e5fbae13..3da753f1cb0 100644 +--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java ++++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/HostSet.java +@@ -18,10 +18,11 @@ + package org.apache.hadoop.hdfs.server.blockmanagement; + + +-import org.apache.hadoop.util.Preconditions; + import org.apache.hadoop.thirdparty.com.google.common.collect.HashMultimap; + import org.apache.hadoop.thirdparty.com.google.common.collect.Multimap; + import org.apache.hadoop.thirdparty.com.google.common.collect.UnmodifiableIterator; ++import org.slf4j.Logger; ++import org.slf4j.LoggerFactory; + + import java.net.InetAddress; + import java.net.InetSocketAddress; +@@ -38,6 +39,8 @@ import java.util.Map; + * .getPort() || B.getPort() == 0. + */ + public class HostSet implements Iterable { ++ private static final Logger LOG = LoggerFactory.getLogger(HostSet.class); ++ + // Host -> lists of ports + private final Multimap addrs = HashMultimap.create(); + +@@ -72,7 +75,11 @@ public class HostSet implements Iterable { + } + + void add(InetSocketAddress addr) { +- Preconditions.checkArgument(!addr.isUnresolved()); ++ LOG.debug("Adding address to HostSet: {}", addr); ++ if (addr.isUnresolved()) { ++ LOG.warn("Unresolved address not added to HostSet: {}", addr); ++ return; ++ } + addrs.put(addr.getAddress(), addr.getPort()); + } + diff --git a/precompiled/hadoop/stackable/patches/3.5.0/patchable.toml b/precompiled/hadoop/stackable/patches/3.5.0/patchable.toml new file mode 100644 index 000000000..972e228e7 --- /dev/null +++ b/precompiled/hadoop/stackable/patches/3.5.0/patchable.toml @@ -0,0 +1,2 @@ +mirror = "https://github.com/stackabletech/hadoop.git" +base = "dbcc7cd797100e6b32cd84f85b53a5193a5f9af0" From 92b2364f4e7f587b00efa9b1465647300a257b4a Mon Sep 17 00:00:00 2001 From: Andrew Kenworthy Date: Thu, 8 Oct 2026 11:57:54 +0200 Subject: [PATCH 2/2] add protobuf branch logic --- precompiled/hadoop/Dockerfile | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/precompiled/hadoop/Dockerfile b/precompiled/hadoop/Dockerfile index 396d20297..63731a847 100644 --- a/precompiled/hadoop/Dockerfile +++ b/precompiled/hadoop/Dockerfile @@ -35,10 +35,18 @@ RUN < 3.21 bundles abseil-cpp and utf8_range as git submodules + git submodule update --init --recursive + cmake -S . -B build -DCMAKE_POSITION_INDEPENDENT_CODE=ON -Dprotobuf_BUILD_TESTS=OFF + cmake --build build --parallel "$(nproc)" + cmake --install build --prefix /opt/protobuf + fi (cd .. && rm -r ${PROTOBUF_VERSION}) EOF