diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d112c6f9..1f0b51fe8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,7 @@ All notable changes to this project will be documented in this file. - nifi: Add [nifi-iceberg-bundle](https://github.com/stackabletech/nifi-iceberg-bundle) for NiFi `2.2.0` ([#1060], [#1106]). - java: Add JDK 24 ([#1097]). - ci: Add golang image to mirror workflow ([#1103]). +- hbase: add 2.6.2 and upgrade dependencies ([#1101]) ### Changed @@ -79,6 +80,7 @@ All notable changes to this project will be documented in this file. - Remove ubi8-rust-builder image ([#1091]). - opa: Remove `0.67.1` ([#1103]). - opa: Remove legacy bundle-builder from container build ([#1103]). +- hbase: Remove 2.4.18 ([#1101]) - druid: Remove `30.0.0` ([#1110]). [#1025]: https://github.com/stackabletech/docker-images/pull/1025 @@ -105,6 +107,7 @@ All notable changes to this project will be documented in this file. [#1093]: https://github.com/stackabletech/docker-images/pull/1093 [#1097]: https://github.com/stackabletech/docker-images/pull/1097 [#1098]: https://github.com/stackabletech/docker-images/pull/1098 +[#1101]: https://github.com/stackabletech/docker-images/pull/1101 [#1102]: https://github.com/stackabletech/docker-images/pull/1102 [#1103]: https://github.com/stackabletech/docker-images/pull/1103 [#1106]: https://github.com/stackabletech/docker-images/pull/1106 diff --git a/hbase/Dockerfile b/hbase/Dockerfile index 4a0ba9dd5..d74c4c5cc 100644 --- a/hbase/Dockerfile +++ b/hbase/Dockerfile @@ -6,12 +6,10 @@ FROM stackable/image/hadoop AS hadoop-builder FROM stackable/image/java-devel AS hbase-builder ARG PRODUCT -ARG HBASE_THIRDPARTY ARG HBASE_OPERATOR_TOOLS ARG ASYNC_PROFILER ARG PHOENIX ARG HBASE_PROFILE -ARG JMX_EXPORTER ARG HADOOP ARG TARGETARCH ARG TARGETOS @@ -28,7 +26,6 @@ WORKDIR /stackable COPY --chown=${STACKABLE_USER_UID}:0 hbase/stackable/patches/patchable.toml /stackable/src/hbase/stackable/patches/patchable.toml COPY --chown=${STACKABLE_USER_UID}:0 hbase/stackable/patches/${PRODUCT} /stackable/src/hbase/stackable/patches/${PRODUCT} -COPY --chown=${STACKABLE_USER_UID}:0 hbase/stackable/jmx/config${JMX_EXPORTER} /stackable/jmx # Cache mounts are owned by root by default # We need to explicitly give the uid to use @@ -59,15 +56,6 @@ mv hbase-assembly/target/bom.json /stackable/hbase-${PRODUCT}/hbase-${PRODUCT}.c ln -s "/stackable/hbase-${PRODUCT}" /stackable/hbase -### -### JMX Prometheus Exporter/Agent -### -if [[ -n "${JMX_EXPORTER}" ]] ; then - curl --fail "https://repo.stackable.tech/repository/packages/jmx-exporter/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar" -o "/stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar" - chmod +x "/stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar" - ln -s "/stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar" /stackable/jmx/jmx_prometheus_javaagent.jar -fi - ### ### Async Profiler ### @@ -155,16 +143,13 @@ WORKDIR /stackable RUN --mount=type=cache,id=maven-hbase-operator-tools-${HBASE_OPERATOR_TOOLS},uid=${STACKABLE_USER_UID},target=/stackable/.m2/repository < +Date: Tue, 6 May 2025 17:58:34 +0200 +Subject: Exclude hbase-testing-utils dependency from the build. + +--- + hbase-hbck2/pom.xml | 11 +++++++++-- + hbase-tools/pom.xml | 5 +++-- + 2 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/hbase-hbck2/pom.xml b/hbase-hbck2/pom.xml +index 1d57225..fd0018c 100644 +--- a/hbase-hbck2/pom.xml ++++ b/hbase-hbck2/pom.xml +@@ -114,12 +114,19 @@ + + + +- ++ ++ + + org.mockito + mockito-core +diff --git a/hbase-tools/pom.xml b/hbase-tools/pom.xml +index 55ef075..eeebe14 100644 +--- a/hbase-tools/pom.xml ++++ b/hbase-tools/pom.xml +@@ -103,12 +103,13 @@ + + + +- ++ ++ + + org.mockito + mockito-core diff --git a/hbase/hbase-operator-tools/stackable/patches/1.3.0-fd5a5fb/0003-Configure-git-commit-id-plugin-to-use-native-git.patch b/hbase/hbase-operator-tools/stackable/patches/1.3.0-fd5a5fb/0003-Configure-git-commit-id-plugin-to-use-native-git.patch new file mode 100644 index 000000000..729432461 --- /dev/null +++ b/hbase/hbase-operator-tools/stackable/patches/1.3.0-fd5a5fb/0003-Configure-git-commit-id-plugin-to-use-native-git.patch @@ -0,0 +1,29 @@ +From 187db522edc569def2aea3f9453ecb1a674592fe Mon Sep 17 00:00:00 2001 +From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> +Date: Wed, 7 May 2025 10:26:37 +0200 +Subject: Configure git-commit-id-plugin to use native git + +This fixes the problem that jgit cannot handle worktrees and the build +fails. + +See +https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/215 +--- + hbase-hbck2/pom.xml | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/hbase-hbck2/pom.xml b/hbase-hbck2/pom.xml +index fd0018c..f00bd18 100644 +--- a/hbase-hbck2/pom.xml ++++ b/hbase-hbck2/pom.xml +@@ -215,8 +215,9 @@ + + pl.project13.maven + git-commit-id-plugin +- 2.2.5 ++ 4.9.10 + ++ true + ${project.basedir}/.git + flat + false diff --git a/hbase/stackable/jmx/config/README.md b/hbase/stackable/jmx/config/README.md deleted file mode 100644 index 55aae7952..000000000 --- a/hbase/stackable/jmx/config/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Description - -This is a placeholder file for docker to be able to build images when there is no jmx config provided. - -This is the case for HBase 2.6.0 (and above) where a JMX exporter is included in the HBase distribution. diff --git a/hbase/stackable/jmx/config1.2.0/master.yaml b/hbase/stackable/jmx/config1.2.0/master.yaml deleted file mode 100644 index da385453c..000000000 --- a/hbase/stackable/jmx/config1.2.0/master.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -rules: - - pattern: ".*" diff --git a/hbase/stackable/jmx/config1.2.0/regionserver.yaml b/hbase/stackable/jmx/config1.2.0/regionserver.yaml deleted file mode 100644 index da385453c..000000000 --- a/hbase/stackable/jmx/config1.2.0/regionserver.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -rules: - - pattern: ".*" diff --git a/hbase/stackable/jmx/config1.2.0/restserver.yaml b/hbase/stackable/jmx/config1.2.0/restserver.yaml deleted file mode 100644 index da385453c..000000000 --- a/hbase/stackable/jmx/config1.2.0/restserver.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -rules: - - pattern: ".*" diff --git a/hbase/stackable/patches/2.4.18/0001-HBASE-27103-Fixes-HBase-build-on-arm64.patch b/hbase/stackable/patches/2.4.18/0001-HBASE-27103-Fixes-HBase-build-on-arm64.patch deleted file mode 100644 index 06a625ee3..000000000 --- a/hbase/stackable/patches/2.4.18/0001-HBASE-27103-Fixes-HBase-build-on-arm64.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 393df760d7beb6735e6b788501ddeb5f60615a4a Mon Sep 17 00:00:00 2001 -From: Maximilian Wittich -Date: Fri, 15 Dec 2023 13:14:28 +0100 -Subject: HBASE-27103: Fixes HBase build on arm64 - ---- - .../src/main/resources/supplemental-models.xml | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/hbase-resource-bundle/src/main/resources/supplemental-models.xml b/hbase-resource-bundle/src/main/resources/supplemental-models.xml -index 6a36b86dbc..cfcd8e201f 100644 ---- a/hbase-resource-bundle/src/main/resources/supplemental-models.xml -+++ b/hbase-resource-bundle/src/main/resources/supplemental-models.xml -@@ -2316,6 +2316,20 @@ Copyright (c) 2011 FuseSource Corp. All rights reserved. - - - -+ -+ -+ org.openlabtesting.leveldbjni -+ leveldbjni-all -+ -+ -+ -+ BSD 3-Clause License -+ http://www.opensource.org/licenses/BSD-3-Clause -+ repo -+ -+ -+ -+ - - - diff --git a/hbase/stackable/patches/2.4.18/0002-HBASE-28242-Updates-async-profiler-support.patch b/hbase/stackable/patches/2.4.18/0002-HBASE-28242-Updates-async-profiler-support.patch deleted file mode 100644 index e1a0b89ed..000000000 --- a/hbase/stackable/patches/2.4.18/0002-HBASE-28242-Updates-async-profiler-support.patch +++ /dev/null @@ -1,384 +0,0 @@ -From 5e26329f7b75e2ee2aa797f7bdcf3524bd45e491 Mon Sep 17 00:00:00 2001 -From: Siegfried Weber -Date: Tue, 6 Feb 2024 16:10:54 +0100 -Subject: HBASE-28242: Updates async-profiler support - ---- - .../hadoop/hbase/http/ProfileServlet.java | 205 +++++++++++------- - 1 file changed, 121 insertions(+), 84 deletions(-) - -diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java -index df8d009282..6139114717 100644 ---- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java -+++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java -@@ -25,9 +25,11 @@ import java.util.concurrent.TimeUnit; - import java.util.concurrent.atomic.AtomicInteger; - import java.util.concurrent.locks.Lock; - import java.util.concurrent.locks.ReentrantLock; -+ - import javax.servlet.http.HttpServlet; - import javax.servlet.http.HttpServletRequest; - import javax.servlet.http.HttpServletResponse; -+ - import org.apache.hadoop.hbase.util.ProcessUtils; - import org.apache.yetus.audience.InterfaceAudience; - import org.slf4j.Logger; -@@ -37,23 +39,60 @@ import org.apache.hbase.thirdparty.com.google.common.base.Joiner; - - /** - * Servlet that runs async-profiler as web-endpoint. Following options from async-profiler can be -- * specified as query paramater. // -e event profiling event: cpu|alloc|lock|cache-misses etc. // -d -- * duration run profiling for 'duration' seconds (integer) // -i interval sampling interval in -- * nanoseconds (long) // -j jstackdepth maximum Java stack depth (integer) // -b bufsize frame -- * buffer size (long) // -t profile different threads separately // -s simple class names instead of -- * FQN // -o fmt[,fmt...] output format: summary|traces|flat|collapsed|svg|tree|jfr|html // --width -- * px SVG width pixels (integer) // --height px SVG frame height pixels (integer) // --minwidth px -- * skip frames smaller than px (double) // --reverse generate stack-reversed FlameGraph / Call tree -- * Example: - To collect 30 second CPU profile of current process (returns FlameGraph svg) curl -- * "http://localhost:10002/prof" - To collect 1 minute CPU profile of current process and output in -- * tree format (html) curl "http://localhost:10002/prof?output=tree&duration=60" - To collect 30 -- * second heap allocation profile of current process (returns FlameGraph svg) curl -- * "http://localhost:10002/prof?event=alloc" - To collect lock contention profile of current process -- * (returns FlameGraph svg) curl "http://localhost:10002/prof?event=lock" Following event types are -- * supported (default is 'cpu') (NOTE: not all OS'es support all events) // Perf events: // cpu // -- * page-faults // context-switches // cycles // instructions // cache-references // cache-misses // -- * branches // branch-misses // bus-cycles // L1-dcache-load-misses // LLC-load-misses // -- * dTLB-load-misses // mem:breakpoint // trace:tracepoint // Java events: // alloc // lock -+ * specified as query parameter. -+ *
    -+ *
  • -e event profiling event: cpu|alloc|lock|cache-misses etc.
  • -+ *
  • -d duration run profiling for 'duration' seconds (integer), default 10s
  • -+ *
  • -i interval sampling interval in nanoseconds (long), default 10ms
  • -+ *
  • -j jstackdepth maximum Java stack depth (integer), default 2048
  • -+ *
  • -t profile different threads separately
  • -+ *
  • -s simple class names instead of FQN
  • -+ *
  • -g print method signatures
  • -+ *
  • -a annotate Java methods
  • -+ *
  • -l prepend library names
  • -+ *
  • -o fmt output format: flat|traces|collapsed|flamegraph|tree|jfr
  • -+ *
  • --minwidth pct skip frames smaller than pct% (double)
  • -+ *
  • --reverse generate stack-reversed FlameGraph / Call tree
  • -+ *
-+ * Example: -+ *
    -+ *
  • To collect 30 second CPU profile of current process (returns FlameGraph svg): -+ * {@code curl http://localhost:10002/prof"}
  • -+ *
  • To collect 1 minute CPU profile of current process and output in tree format (html) -+ * {@code curl "http://localhost:10002/prof?output=tree&duration=60"}
  • -+ *
  • To collect 30 second heap allocation profile of current process (returns FlameGraph): -+ * {@code curl "http://localhost:10002/prof?event=alloc"}
  • -+ *
  • To collect lock contention profile of current process (returns FlameGraph): -+ * {@code curl "http://localhost:10002/prof?event=lock"}
  • -+ *
-+ * Following event types are supported (default is 'cpu') (NOTE: not all OS'es support all -+ * events).
-+ * Basic events: -+ *
    -+ *
  • cpu
  • -+ *
  • alloc
  • -+ *
  • lock
  • -+ *
  • wall
  • -+ *
  • itimer
  • -+ *
-+ * Perf events: -+ *
    -+ *
  • L1-dcache-load-misses
  • -+ *
  • LLC-load-misses
  • -+ *
  • branch-instructions
  • -+ *
  • branch-misses
  • -+ *
  • bus-cycles
  • -+ *
  • cache-misses
  • -+ *
  • cache-references
  • -+ *
  • context-switches
  • -+ *
  • cpu
  • -+ *
  • cycles
  • -+ *
  • dTLB-load-misses
  • -+ *
  • instructions
  • -+ *
  • mem:breakpoint
  • -+ *
  • page-faults
  • -+ *
  • trace:tracepoint
  • -+ *
- */ - @InterfaceAudience.Private - public class ProfileServlet extends HttpServlet { -@@ -77,19 +116,20 @@ public class ProfileServlet extends HttpServlet { - WALL("wall"), - ALLOC("alloc"), - LOCK("lock"), -- PAGE_FAULTS("page-faults"), -+ ITIMER("itimer"), -+ BRANCH_INSTRUCTIONS("branch-instructions"), -+ BRANCH_MISSES("branch-misses"), -+ BUS_CYCLES("bus-cycles"), -+ CACHE_MISSES("cache-misses"), -+ CACHE_REFERENCES("cache-references"), - CONTEXT_SWITCHES("context-switches"), - CYCLES("cycles"), -+ DTLB_LOAD_MISSES("dTLB-load-misses"), - INSTRUCTIONS("instructions"), -- CACHE_REFERENCES("cache-references"), -- CACHE_MISSES("cache-misses"), -- BRANCHES("branches"), -- BRANCH_MISSES("branch-misses"), -- BUS_CYCLES("bus-cycles"), - L1_DCACHE_LOAD_MISSES("L1-dcache-load-misses"), - LLC_LOAD_MISSES("LLC-load-misses"), -- DTLB_LOAD_MISSES("dTLB-load-misses"), - MEM_BREAKPOINT("mem:breakpoint"), -+ PAGE_FAULTS("page-faults"), - TRACE_TRACEPOINT("trace:tracepoint"),; - - private final String internalName; -@@ -98,11 +138,11 @@ public class ProfileServlet extends HttpServlet { - this.internalName = internalName; - } - -- public String getInternalName() { -+ String getInternalName() { - return internalName; - } - -- public static Event fromInternalName(final String name) { -+ static Event fromInternalName(final String name) { - for (Event event : values()) { - if (event.getInternalName().equalsIgnoreCase(name)) { - return event; -@@ -113,30 +153,26 @@ public class ProfileServlet extends HttpServlet { - } - } - -- enum Output { -- SUMMARY, -- TRACES, -- FLAT, -+ private enum Output { - COLLAPSED, -- // No SVG in 2.x asyncprofiler. -- SVG, -- TREE, -+ FLAMEGRAPH, -+ FLAT, - JFR, -- // In 2.x asyncprofiler, this is how you get flamegraphs. -- HTML -+ TRACES, -+ TREE - } - - @edu.umd.cs.findbugs.annotations.SuppressWarnings(value = "SE_TRANSIENT_FIELD_NOT_RESTORED", - justification = "This class is never serialized nor restored.") -- private transient Lock profilerLock = new ReentrantLock(); -+ private final transient Lock profilerLock = new ReentrantLock(); - private transient volatile Process process; -- private String asyncProfilerHome; -+ private final String asyncProfilerHome; - private Integer pid; - - public ProfileServlet() { - this.asyncProfilerHome = getAsyncProfilerHome(); - this.pid = ProcessUtils.getPid(); -- LOG.info("Servlet process PID: " + pid + " asyncProfilerHome: " + asyncProfilerHome); -+ LOG.info("Servlet process PID: {} asyncProfilerHome: {}", pid, asyncProfilerHome); - } - - @Override -@@ -155,9 +191,9 @@ public class ProfileServlet extends HttpServlet { - setResponseHeader(resp); - resp.getWriter() - .write("ASYNC_PROFILER_HOME env is not set.\n\n" -- + "Please ensure the prerequsites for the Profiler Servlet have been installed and the\n" -+ + "Please ensure the prerequisites for the Profiler Servlet have been installed and the\n" - + "environment is properly configured. For more information please see\n" -- + "http://hbase.apache.org/book.html#profiler\n"); -+ + "https://hbase.apache.org/book.html#profiler\n"); - return; - } - -@@ -173,18 +209,18 @@ public class ProfileServlet extends HttpServlet { - return; - } - -- final int duration = getInteger(req, "duration", DEFAULT_DURATION_SECONDS); -- final Output output = getOutput(req); -- final Event event = getEvent(req); -- final Long interval = getLong(req, "interval"); -- final Integer jstackDepth = getInteger(req, "jstackdepth", null); -- final Long bufsize = getLong(req, "bufsize"); -- final boolean thread = req.getParameterMap().containsKey("thread"); -- final boolean simple = req.getParameterMap().containsKey("simple"); -- final Integer width = getInteger(req, "width", null); -- final Integer height = getInteger(req, "height", null); -- final Double minwidth = getMinWidth(req); -- final boolean reverse = req.getParameterMap().containsKey("reverse"); -+ Event event = getEvent(req); -+ int duration = getInteger(req, "duration", DEFAULT_DURATION_SECONDS); -+ Long interval = getLong(req, "interval"); -+ Integer jstackDepth = getInteger(req, "jstackdepth", null); -+ boolean thread = req.getParameterMap().containsKey("thread"); -+ boolean simple = req.getParameterMap().containsKey("simple"); -+ boolean signature = req.getParameterMap().containsKey("signature"); -+ boolean annotate = req.getParameterMap().containsKey("annotate"); -+ boolean prependLib = req.getParameterMap().containsKey("prependlib"); -+ Output output = getOutput(req); -+ Double minwidth = getMinWidth(req); -+ boolean reverse = req.getParameterMap().containsKey("reverse"); - - if (process == null || !process.isAlive()) { - try { -@@ -199,11 +235,7 @@ public class ProfileServlet extends HttpServlet { - cmd.add("-e"); - cmd.add(event.getInternalName()); - cmd.add("-d"); -- cmd.add("" + duration); -- cmd.add("-o"); -- cmd.add(output.name().toLowerCase()); -- cmd.add("-f"); -- cmd.add(outputFile.getAbsolutePath()); -+ cmd.add(String.valueOf(duration)); - if (interval != null) { - cmd.add("-i"); - cmd.add(interval.toString()); -@@ -212,24 +244,25 @@ public class ProfileServlet extends HttpServlet { - cmd.add("-j"); - cmd.add(jstackDepth.toString()); - } -- if (bufsize != null) { -- cmd.add("-b"); -- cmd.add(bufsize.toString()); -- } - if (thread) { - cmd.add("-t"); - } - if (simple) { - cmd.add("-s"); - } -- if (width != null) { -- cmd.add("--width"); -- cmd.add(width.toString()); -+ if (signature) { -+ cmd.add("-g"); - } -- if (height != null) { -- cmd.add("--height"); -- cmd.add(height.toString()); -+ if (annotate) { -+ cmd.add("-a"); - } -+ if (prependLib) { -+ cmd.add("-l"); -+ } -+ cmd.add("-o"); -+ cmd.add(output.name().toLowerCase()); -+ cmd.add("-f"); -+ cmd.add(outputFile.getAbsolutePath()); - if (minwidth != null) { - cmd.add("--minwidth"); - cmd.add(minwidth.toString()); -@@ -237,6 +270,7 @@ public class ProfileServlet extends HttpServlet { - if (reverse) { - cmd.add("--reverse"); - } -+ - cmd.add(pid.toString()); - process = ProcessUtils.runCmdAsync(cmd); - -@@ -247,7 +281,10 @@ public class ProfileServlet extends HttpServlet { - resp.getWriter() - .write("Started [" + event.getInternalName() - + "] profiling. This page will automatically redirect to " + relativeUrl + " after " -- + duration + " seconds.\n\nCommand:\n" + Joiner.on(" ").join(cmd)); -+ + duration + " seconds. " -+ + "If empty diagram and Linux 4.6+, see 'Basic Usage' section on the Async " -+ + "Profiler Home Page, https://github.com/jvm-profiling-tools/async-profiler." -+ + "\n\nCommand:\n" + Joiner.on(" ").join(cmd)); - - // to avoid auto-refresh by ProfileOutputServlet, refreshDelay can be specified - // via url param -@@ -265,8 +302,9 @@ public class ProfileServlet extends HttpServlet { - resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - resp.getWriter() - .write("Unable to acquire lock. Another instance of profiler might be running."); -- LOG.warn("Unable to acquire lock in " + lockTimeoutSecs -- + " seconds. Another instance of profiler might be running."); -+ LOG.warn( -+ "Unable to acquire lock in {} seconds. Another instance of profiler might be running.", -+ lockTimeoutSecs); - } - } catch (InterruptedException e) { - LOG.warn("Interrupted while acquiring profile lock.", e); -@@ -279,9 +317,9 @@ public class ProfileServlet extends HttpServlet { - } - } - -- private Integer getInteger(final HttpServletRequest req, final String param, -+ private static Integer getInteger(final HttpServletRequest req, final String param, - final Integer defaultValue) { -- final String value = req.getParameter(param); -+ String value = req.getParameter(param); - if (value != null) { - try { - return Integer.valueOf(value); -@@ -292,8 +330,8 @@ public class ProfileServlet extends HttpServlet { - return defaultValue; - } - -- private Long getLong(final HttpServletRequest req, final String param) { -- final String value = req.getParameter(param); -+ private static Long getLong(final HttpServletRequest req, final String param) { -+ String value = req.getParameter(param); - if (value != null) { - try { - return Long.valueOf(value); -@@ -304,8 +342,8 @@ public class ProfileServlet extends HttpServlet { - return null; - } - -- private Double getMinWidth(final HttpServletRequest req) { -- final String value = req.getParameter("minwidth"); -+ private static Double getMinWidth(final HttpServletRequest req) { -+ String value = req.getParameter("minwidth"); - if (value != null) { - try { - return Double.valueOf(value); -@@ -316,8 +354,8 @@ public class ProfileServlet extends HttpServlet { - return null; - } - -- private Event getEvent(final HttpServletRequest req) { -- final String eventArg = req.getParameter("event"); -+ private static Event getEvent(final HttpServletRequest req) { -+ String eventArg = req.getParameter("event"); - if (eventArg != null) { - Event event = Event.fromInternalName(eventArg); - return event == null ? Event.CPU : event; -@@ -325,16 +363,16 @@ public class ProfileServlet extends HttpServlet { - return Event.CPU; - } - -- private Output getOutput(final HttpServletRequest req) { -- final String outputArg = req.getParameter("output"); -+ private static Output getOutput(final HttpServletRequest req) { -+ String outputArg = req.getParameter("output"); - if (req.getParameter("output") != null) { - try { - return Output.valueOf(outputArg.trim().toUpperCase()); - } catch (IllegalArgumentException e) { -- return Output.SVG; -+ return Output.FLAMEGRAPH; - } - } -- return Output.SVG; -+ return Output.FLAMEGRAPH; - } - - static void setResponseHeader(final HttpServletResponse response) { -@@ -366,8 +404,7 @@ public class ProfileServlet extends HttpServlet { - .write("The profiler servlet was disabled at startup.\n\n" - + "Please ensure the prerequisites for the Profiler Servlet have been installed and the\n" - + "environment is properly configured. For more information please see\n" -- + "http://hbase.apache.org/book.html#profiler\n"); -- return; -+ + "https://hbase.apache.org/book.html#profiler\n"); - } - - } diff --git a/hbase/stackable/patches/2.4.18/0003-HBASE-28379-Upgrade-thirdparty-deps.patch b/hbase/stackable/patches/2.4.18/0003-HBASE-28379-Upgrade-thirdparty-deps.patch deleted file mode 100644 index c96659868..000000000 --- a/hbase/stackable/patches/2.4.18/0003-HBASE-28379-Upgrade-thirdparty-deps.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 8720a56fe1727d3de52e937e9df1631ed7b3c476 Mon Sep 17 00:00:00 2001 -From: Lars Francke -Date: Thu, 11 Jul 2024 10:12:51 +0200 -Subject: HBASE-28379: Upgrade thirdparty deps - ---- - hbase-protocol-shaded/pom.xml | 2 +- - hbase-shaded/pom.xml | 2 +- - pom.xml | 16 +++++++++++++--- - 3 files changed, 15 insertions(+), 5 deletions(-) - -diff --git a/hbase-protocol-shaded/pom.xml b/hbase-protocol-shaded/pom.xml -index c77dc74f8c..b73c0cfa68 100644 ---- a/hbase-protocol-shaded/pom.xml -+++ b/hbase-protocol-shaded/pom.xml -@@ -34,7 +34,7 @@ - -- 3.24.3 -+ 3.25.2 - - - -+ 2.16.1 -+ 2.16.1 - 2.3.1 - 3.1.0 - 2.1.1 -@@ -641,7 +645,13 @@ - 2.12 - 1.0.1 - 2.27.2 -- 4.1.5 -+ -+ 4.1.6 - 3.12.0 - 1.1.10.4 - diff --git a/hbase/stackable/patches/2.4.18/0004-HBASE-28511-Update-hbase-thirdparty-to-4.1.7.patch b/hbase/stackable/patches/2.4.18/0004-HBASE-28511-Update-hbase-thirdparty-to-4.1.7.patch deleted file mode 100644 index 190fe6cfc..000000000 --- a/hbase/stackable/patches/2.4.18/0004-HBASE-28511-Update-hbase-thirdparty-to-4.1.7.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 92521e5f2798dbb21af9af56f48eb649f97e48ac Mon Sep 17 00:00:00 2001 -From: Lars Francke -Date: Thu, 11 Jul 2024 10:12:51 +0200 -Subject: HBASE-28511: Update hbase-thirdparty to 4.1.7 - ---- - .../org/apache/hadoop/hbase/security/EncryptionUtil.java | 4 ++-- - .../apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java | 2 +- - .../hbase/mapreduce/TableSnapshotInputFormatImpl.java | 2 +- - hbase-protocol-shaded/pom.xml | 2 +- - .../apache/hadoop/hbase/io/hfile/FixedFileTrailer.java | 2 +- - .../hadoop/hbase/zookeeper/MasterAddressTracker.java | 2 +- - pom.xml | 8 ++++---- - 7 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java -index 6c755f9a94..04fc5201cc 100644 ---- a/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java -+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/security/EncryptionUtil.java -@@ -120,7 +120,7 @@ public final class EncryptionUtil { - public static Key unwrapKey(Configuration conf, String subject, byte[] value) - throws IOException, KeyException { - EncryptionProtos.WrappedKey wrappedKey = -- EncryptionProtos.WrappedKey.PARSER.parseDelimitedFrom(new ByteArrayInputStream(value)); -+ EncryptionProtos.WrappedKey.parser().parseDelimitedFrom(new ByteArrayInputStream(value)); - String algorithm = conf.get(HConstants.CRYPTO_KEY_ALGORITHM_CONF_KEY, HConstants.CIPHER_AES); - Cipher cipher = Encryption.getCipher(conf, algorithm); - if (cipher == null) { -@@ -170,7 +170,7 @@ public final class EncryptionUtil { - public static Key unwrapWALKey(Configuration conf, String subject, byte[] value) - throws IOException, KeyException { - EncryptionProtos.WrappedKey wrappedKey = -- EncryptionProtos.WrappedKey.PARSER.parseDelimitedFrom(new ByteArrayInputStream(value)); -+ EncryptionProtos.WrappedKey.parser().parseDelimitedFrom(new ByteArrayInputStream(value)); - String algorithm = conf.get(HConstants.CRYPTO_WAL_ALGORITHM_CONF_KEY, HConstants.CIPHER_AES); - Cipher cipher = Encryption.getCipher(conf, algorithm); - if (cipher == null) { -diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java -index 6e4396b5c6..b8079ffd3a 100644 ---- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java -+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java -@@ -3034,7 +3034,7 @@ public final class ProtobufUtil { - int prefixLen = ProtobufMagic.lengthOfPBMagic(); - try { - ZooKeeperProtos.Master rss = -- ZooKeeperProtos.Master.PARSER.parseFrom(data, prefixLen, data.length - prefixLen); -+ ZooKeeperProtos.Master.parser().parseFrom(data, prefixLen, data.length - prefixLen); - org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ServerName sn = - rss.getMaster(); - return ServerName.valueOf(sn.getHostName(), sn.getPort(), sn.getStartCode()); -diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java -index 43cb69bd8c..f8fa1f6294 100644 ---- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java -+++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.java -@@ -227,7 +227,7 @@ public class TableSnapshotInputFormatImpl { - int len = in.readInt(); - byte[] buf = new byte[len]; - in.readFully(buf); -- TableSnapshotRegionSplit split = TableSnapshotRegionSplit.PARSER.parseFrom(buf); -+ TableSnapshotRegionSplit split = TableSnapshotRegionSplit.parser().parseFrom(buf); - this.htd = ProtobufUtil.toTableDescriptor(split.getTable()); - this.regionInfo = HRegionInfo.convert(split.getRegion()); - List locationsList = split.getLocationsList(); -diff --git a/hbase-protocol-shaded/pom.xml b/hbase-protocol-shaded/pom.xml -index b73c0cfa68..244e7dc764 100644 ---- a/hbase-protocol-shaded/pom.xml -+++ b/hbase-protocol-shaded/pom.xml -@@ -34,7 +34,7 @@ - -- 3.25.2 -+ 4.26.1 - - - - 3.10.6.Final -- 4.1.100.Final -+ 4.1.108.Final - - 0.13.0 - -- 2.16.1 -- 2.16.1 -+ 2.17.0 -+ 2.17.0 - 2.3.1 - 3.1.0 - 2.1.1 -@@ -651,7 +651,7 @@ - databind] must be kept in sync with the version of jackson-jaxrs-json-provider shipped in - hbase-thirdparty. - --> -- 4.1.6 -+ 4.1.7 - 3.12.0 - 1.1.10.4 - diff --git a/hbase/stackable/patches/2.4.18/0005-Update-all-available-dependencies-to-new-patch-versi.patch b/hbase/stackable/patches/2.4.18/0005-Update-all-available-dependencies-to-new-patch-versi.patch deleted file mode 100644 index dc0199d0c..000000000 --- a/hbase/stackable/patches/2.4.18/0005-Update-all-available-dependencies-to-new-patch-versi.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 6acfff9441d96c18c2a1ec7c0d0c40aec8e94b2f Mon Sep 17 00:00:00 2001 -From: Lars Francke -Date: Thu, 11 Jul 2024 10:12:51 +0200 -Subject: Update all available dependencies to new patch versions - ---- - pom.xml | 46 +++++++++++++++++++++++----------------------- - 1 file changed, 23 insertions(+), 23 deletions(-) - -diff --git a/pom.xml b/pom.xml -index c4beb5aaeb..8bd80e81e2 100755 ---- a/pom.xml -+++ b/pom.xml -@@ -540,7 +540,7 @@ - 3.0.4 - ${compileSource} - -- 2.10.0 -+ 2.10.2 - 3.1.2 - - 3.10.6.Final -- 4.1.108.Final -+ 4.1.111.Final - - 0.13.0 - - 0.13.0 - 1.7.7 -- 2.8.1 -+ 2.8.8 - 1.15 - 2.11.0 - 3.9 - 3.6.1 - 1.5.0 - 3.4.4 -- 4.5.13 -- 4.4.13 -+ 4.5.14 -+ 4.4.16 - 3.2.6 - - com.google.protobuf -@@ -602,19 +602,19 @@ - ${external.protobuf.version} - 0.6.1 - thrift -- 0.14.1 -+ 0.14.2 - 3.8.4 - 2.11 -- 1.7.33 -+ 1.7.36 - 4.0.3 - 2.4.1 - 1.5.4 - -- 2.1.31 -- 1.0.55 -- 2.12.2 -- 1.78 -- 1.5.1 -+ 2.1.48 -+ 1.0.58 -+ 2.12.3 -+ 1.78.1 -+ 1.5.3 - 1.0.1 - 1.0.0 - 4.2.0 -@@ -631,17 +631,17 @@ - 1.0.0 - 1.8 - 3.3.0 -- 3.1.0 -+ 3.1.2 - 2.10 - 3.0.1 -- 3.4.0 -- 1.1.0 -+ 3.4.1 -+ 1.1.2 - 3.1.2 - 1.5.0.Final - 1.3.9-1 - 4.7.3 -- 4.7.2.1 -- 3.1.0 -+ 4.7.3.6 -+ 3.1.2 - 2.12 - 1.0.1 - 2.27.2 -@@ -652,8 +652,8 @@ - hbase-thirdparty. - --> - 4.1.7 -- 3.12.0 -- 1.1.10.4 -+ 3.12.1 -+ 1.1.10.5 - - 0.8.8 - diff --git a/hbase/stackable/patches/2.4.18/patchable.toml b/hbase/stackable/patches/2.4.18/patchable.toml deleted file mode 100644 index 20dfd9e95..000000000 --- a/hbase/stackable/patches/2.4.18/patchable.toml +++ /dev/null @@ -1,2 +0,0 @@ -base = "a1767f4d76859c0068720a6c1e5cb78282ebfe1e" -mirror = "https://github.com/stackabletech/hbase.git" diff --git a/hbase/stackable/patches/2.6.0/0002-HBASE-28567-Race-condition-causes-MetaRegionLocation.patch b/hbase/stackable/patches/2.6.0/0002-HBASE-28567-Race-condition-causes-MetaRegionLocation.patch deleted file mode 100644 index 5769e7c25..000000000 --- a/hbase/stackable/patches/2.6.0/0002-HBASE-28567-Race-condition-causes-MetaRegionLocation.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d0b4d835981de37250ad076298ef236c411b7ce0 Mon Sep 17 00:00:00 2001 -From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> -Date: Fri, 12 Jul 2024 17:30:12 -0400 -Subject: HBASE-28567: Race condition causes MetaRegionLocationCache to never - set watcher to populate meta location - ---- - .../java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java -index 3879cb7ba9..5af7de5678 100644 ---- a/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java -+++ b/hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKWatcher.java -@@ -460,6 +460,11 @@ public class ZKWatcher implements Watcher, Abortable, Closeable { - public List getMetaReplicaNodesAndWatchChildren() throws KeeperException { - List childrenOfBaseNode = - ZKUtil.listChildrenAndWatchForNewChildren(this, znodePaths.baseZNode); -+ // Need to throw here instead of returning an empty list if the base znode hasn't been created -+ // Caller should retry in that case, versus thinking the base znode has a watcher set -+ if (childrenOfBaseNode == null) { -+ keeperException(new KeeperException.NoNodeException(znodePaths.baseZNode)); -+ } - return filterMetaReplicaNodes(childrenOfBaseNode); - } - diff --git a/hbase/stackable/patches/2.6.0/0005-Bump-cyclonedx-maven-plugin-to-version-2.8.0-and-twe.patch b/hbase/stackable/patches/2.6.0/0005-Bump-cyclonedx-maven-plugin-to-version-2.8.0-and-twe.patch deleted file mode 100644 index 65abd8c09..000000000 --- a/hbase/stackable/patches/2.6.0/0005-Bump-cyclonedx-maven-plugin-to-version-2.8.0-and-twe.patch +++ /dev/null @@ -1,27 +0,0 @@ -From bcbdb378846206c42a602107e380c29af1ac9163 Mon Sep 17 00:00:00 2001 -From: Lukas Voetmand -Date: Fri, 6 Sep 2024 17:53:52 +0200 -Subject: Bump cyclonedx-maven-plugin to version 2.8.0 and tweak its - configuration - ---- - pom.xml | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/pom.xml b/pom.xml -index 819e021d86..0bd6a69703 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -3230,7 +3230,11 @@ - - org.cyclonedx - cyclonedx-maven-plugin -- 2.7.10 -+ 2.8.0 -+ -+ application -+ 1.5 -+ - - - diff --git a/hbase/stackable/patches/2.6.0/0006-Fix-CVE-2024-36114.patch b/hbase/stackable/patches/2.6.0/0006-Fix-CVE-2024-36114.patch deleted file mode 100644 index c0c080f27..000000000 --- a/hbase/stackable/patches/2.6.0/0006-Fix-CVE-2024-36114.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 02affcbe2f4aa7a22493c9aaa72602c5520bf2a9 Mon Sep 17 00:00:00 2001 -From: Siegfried Weber -Date: Mon, 11 Nov 2024 10:00:15 +0100 -Subject: Fix CVE-2024-36114 - -see https://github.com/stackabletech/vulnerabilities/issues/834 - -Aircompressor is a library with ports of the Snappy, LZO, LZ4, and -Zstandard compression algorithms to Java. All decompressor -implementations of Aircompressor (LZ4, LZO, Snappy, Zstandard) can crash -the JVM for certain input, and in some cases also leak the content of -other memory of the Java process (which could contain sensitive -information). When decompressing certain data, the decompressors try to -access memory outside the bounds of the given byte arrays or byte -buffers. Because Aircompressor uses the JDK class sun.misc.Unsafe to -speed up memory access, no additional bounds checks are performed and -this has similar security consequences as out-of-bounds access in C or -C++, namely it can lead to non-deterministic behavior or crash the JVM. -Users should update to Aircompressor 0.27 or newer where these issues -have been fixed. When decompressing data from untrusted users, this can -be exploited for a denial-of-service attack by crashing the JVM, or to -leak other sensitive information from the Java process. There are no -known workarounds for this issue. ---- - pom.xml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pom.xml b/pom.xml -index 0bd6a69703..50948c2746 100644 ---- a/pom.xml -+++ b/pom.xml -@@ -655,7 +655,7 @@ - 2.27.2 - 3.12.1 - -- 0.24 -+ 0.27 - 1.11.0 - 1.8.0 - 1.1.10.5 diff --git a/hbase/stackable/patches/2.6.0/patchable.toml b/hbase/stackable/patches/2.6.0/patchable.toml deleted file mode 100644 index c914eb82b..000000000 --- a/hbase/stackable/patches/2.6.0/patchable.toml +++ /dev/null @@ -1,2 +0,0 @@ -base = "de99f8754135ea69adc39da48d2bc2b2710a5366" -mirror = "https://github.com/stackabletech/hbase.git" diff --git a/hbase/stackable/patches/2.6.0/0001-HBASE-28242-Updates-async-profiler-support.patch b/hbase/stackable/patches/2.6.2/0001-HBASE-28242-Updates-async-profiler-support.patch similarity index 92% rename from hbase/stackable/patches/2.6.0/0001-HBASE-28242-Updates-async-profiler-support.patch rename to hbase/stackable/patches/2.6.2/0001-HBASE-28242-Updates-async-profiler-support.patch index fc7be53c9..df2efe1e1 100644 --- a/hbase/stackable/patches/2.6.0/0001-HBASE-28242-Updates-async-profiler-support.patch +++ b/hbase/stackable/patches/2.6.2/0001-HBASE-28242-Updates-async-profiler-support.patch @@ -1,4 +1,4 @@ -From 5dedf99076578ec2d1a00f87b153ec7c04a40903 Mon Sep 17 00:00:00 2001 +From 3f32872b0c49ed7125803fd599e7f1318ce8c00a Mon Sep 17 00:00:00 2001 From: Siegfried Weber Date: Tue, 6 Feb 2024 16:10:54 +0100 Subject: HBASE-28242: Updates async-profiler support @@ -8,10 +8,10 @@ Subject: HBASE-28242: Updates async-profiler support 1 file changed, 121 insertions(+), 84 deletions(-) diff --git a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java -index 83087dbed3..6139114717 100644 +index e92b4f9ae0..521ad7c380 100644 --- a/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java +++ b/hbase-http/src/main/java/org/apache/hadoop/hbase/http/ProfileServlet.java -@@ -25,9 +25,11 @@ import java.util.concurrent.TimeUnit; +@@ -28,9 +28,11 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -23,7 +23,7 @@ index 83087dbed3..6139114717 100644 import org.apache.hadoop.hbase.util.ProcessUtils; import org.apache.yetus.audience.InterfaceAudience; import org.slf4j.Logger; -@@ -37,23 +39,60 @@ import org.apache.hbase.thirdparty.com.google.common.base.Joiner; +@@ -40,23 +42,60 @@ import org.apache.hbase.thirdparty.com.google.common.base.Joiner; /** * Servlet that runs async-profiler as web-endpoint. Following options from async-profiler can be @@ -101,7 +101,7 @@ index 83087dbed3..6139114717 100644 */ @InterfaceAudience.Private public class ProfileServlet extends HttpServlet { -@@ -77,19 +116,20 @@ public class ProfileServlet extends HttpServlet { +@@ -81,19 +120,20 @@ public class ProfileServlet extends HttpServlet { WALL("wall"), ALLOC("alloc"), LOCK("lock"), @@ -129,7 +129,7 @@ index 83087dbed3..6139114717 100644 TRACE_TRACEPOINT("trace:tracepoint"),; private final String internalName; -@@ -98,11 +138,11 @@ public class ProfileServlet extends HttpServlet { +@@ -102,11 +142,11 @@ public class ProfileServlet extends HttpServlet { this.internalName = internalName; } @@ -143,7 +143,7 @@ index 83087dbed3..6139114717 100644 for (Event event : values()) { if (event.getInternalName().equalsIgnoreCase(name)) { return event; -@@ -113,30 +153,26 @@ public class ProfileServlet extends HttpServlet { +@@ -117,30 +157,26 @@ public class ProfileServlet extends HttpServlet { } } @@ -182,7 +182,7 @@ index 83087dbed3..6139114717 100644 } @Override -@@ -155,9 +191,9 @@ public class ProfileServlet extends HttpServlet { +@@ -159,9 +195,9 @@ public class ProfileServlet extends HttpServlet { setResponseHeader(resp); resp.getWriter() .write("ASYNC_PROFILER_HOME env is not set.\n\n" @@ -194,7 +194,7 @@ index 83087dbed3..6139114717 100644 return; } -@@ -173,18 +209,18 @@ public class ProfileServlet extends HttpServlet { +@@ -177,18 +213,18 @@ public class ProfileServlet extends HttpServlet { return; } @@ -225,7 +225,7 @@ index 83087dbed3..6139114717 100644 if (process == null || !process.isAlive()) { try { -@@ -199,11 +235,7 @@ public class ProfileServlet extends HttpServlet { +@@ -208,11 +244,7 @@ public class ProfileServlet extends HttpServlet { cmd.add("-e"); cmd.add(event.getInternalName()); cmd.add("-d"); @@ -238,7 +238,7 @@ index 83087dbed3..6139114717 100644 if (interval != null) { cmd.add("-i"); cmd.add(interval.toString()); -@@ -212,24 +244,25 @@ public class ProfileServlet extends HttpServlet { +@@ -221,24 +253,25 @@ public class ProfileServlet extends HttpServlet { cmd.add("-j"); cmd.add(jstackDepth.toString()); } @@ -274,7 +274,7 @@ index 83087dbed3..6139114717 100644 if (minwidth != null) { cmd.add("--minwidth"); cmd.add(minwidth.toString()); -@@ -237,6 +270,7 @@ public class ProfileServlet extends HttpServlet { +@@ -246,6 +279,7 @@ public class ProfileServlet extends HttpServlet { if (reverse) { cmd.add("--reverse"); } @@ -282,7 +282,7 @@ index 83087dbed3..6139114717 100644 cmd.add(pid.toString()); process = ProcessUtils.runCmdAsync(cmd); -@@ -247,7 +281,10 @@ public class ProfileServlet extends HttpServlet { +@@ -256,7 +290,10 @@ public class ProfileServlet extends HttpServlet { resp.getWriter() .write("Started [" + event.getInternalName() + "] profiling. This page will automatically redirect to " + relativeUrl + " after " @@ -294,7 +294,7 @@ index 83087dbed3..6139114717 100644 // to avoid auto-refresh by ProfileOutputServlet, refreshDelay can be specified // via url param -@@ -265,8 +302,9 @@ public class ProfileServlet extends HttpServlet { +@@ -274,8 +311,9 @@ public class ProfileServlet extends HttpServlet { resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); resp.getWriter() .write("Unable to acquire lock. Another instance of profiler might be running."); @@ -306,7 +306,7 @@ index 83087dbed3..6139114717 100644 } } catch (InterruptedException e) { LOG.warn("Interrupted while acquiring profile lock.", e); -@@ -279,9 +317,9 @@ public class ProfileServlet extends HttpServlet { +@@ -288,9 +326,9 @@ public class ProfileServlet extends HttpServlet { } } @@ -318,7 +318,7 @@ index 83087dbed3..6139114717 100644 if (value != null) { try { return Integer.valueOf(value); -@@ -292,8 +330,8 @@ public class ProfileServlet extends HttpServlet { +@@ -301,8 +339,8 @@ public class ProfileServlet extends HttpServlet { return defaultValue; } @@ -329,7 +329,7 @@ index 83087dbed3..6139114717 100644 if (value != null) { try { return Long.valueOf(value); -@@ -304,8 +342,8 @@ public class ProfileServlet extends HttpServlet { +@@ -313,8 +351,8 @@ public class ProfileServlet extends HttpServlet { return null; } @@ -340,7 +340,7 @@ index 83087dbed3..6139114717 100644 if (value != null) { try { return Double.valueOf(value); -@@ -316,8 +354,8 @@ public class ProfileServlet extends HttpServlet { +@@ -325,8 +363,8 @@ public class ProfileServlet extends HttpServlet { return null; } @@ -351,7 +351,7 @@ index 83087dbed3..6139114717 100644 if (eventArg != null) { Event event = Event.fromInternalName(eventArg); return event == null ? Event.CPU : event; -@@ -325,16 +363,16 @@ public class ProfileServlet extends HttpServlet { +@@ -334,16 +372,16 @@ public class ProfileServlet extends HttpServlet { return Event.CPU; } @@ -372,7 +372,7 @@ index 83087dbed3..6139114717 100644 } static void setResponseHeader(final HttpServletResponse response) { -@@ -366,8 +404,7 @@ public class ProfileServlet extends HttpServlet { +@@ -375,8 +413,7 @@ public class ProfileServlet extends HttpServlet { .write("The profiler servlet was disabled at startup.\n\n" + "Please ensure the prerequisites for the Profiler Servlet have been installed and the\n" + "environment is properly configured. For more information please see\n" diff --git a/hbase/stackable/patches/2.6.0/0003-Update-all-dependencies-which-have-a-new-patch-updat.patch b/hbase/stackable/patches/2.6.2/0002-Update-all-dependencies-which-have-a-new-patch-updat.patch similarity index 74% rename from hbase/stackable/patches/2.6.0/0003-Update-all-dependencies-which-have-a-new-patch-updat.patch rename to hbase/stackable/patches/2.6.2/0002-Update-all-dependencies-which-have-a-new-patch-updat.patch index a8799977e..7de26ad89 100644 --- a/hbase/stackable/patches/2.6.0/0003-Update-all-dependencies-which-have-a-new-patch-updat.patch +++ b/hbase/stackable/patches/2.6.2/0002-Update-all-dependencies-which-have-a-new-patch-updat.patch @@ -1,33 +1,33 @@ -From fea1d27160dc1e8f53509ae0f57518404d16dae0 Mon Sep 17 00:00:00 2001 -From: Lars Francke -Date: Thu, 11 Jul 2024 10:12:51 +0200 -Subject: Update all dependencies which have a new patch update available. +From fc26f5691405aac908f4ecfa4682d53b1916bc07 Mon Sep 17 00:00:00 2001 +From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> +Date: Tue, 6 May 2025 13:11:25 +0200 +Subject: Update all dependencies which have a new patch update available --- - pom.xml | 40 ++++++++++++++++++++-------------------- - 1 file changed, 20 insertions(+), 20 deletions(-) + pom.xml | 42 +++++++++++++++++++++--------------------- + 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/pom.xml b/pom.xml -index 918cdaa675..b420025c6c 100644 +index e4be54a0ad..6202b48156 100644 --- a/pom.xml +++ b/pom.xml -@@ -567,7 +567,7 @@ +@@ -566,7 +566,7 @@ + in the dependencyManagement section as it could still lead to different versions of netty modules and cause trouble if we only rely on transitive dependencies. --> - 3.10.6.Final -- 4.1.108.Final -+ 4.1.111.Final +- 4.1.116.Final ++ 4.1.117.Final 0.13.0 0.13.0 - 1.11.3 + 1.11.4 - 2.8.1 + 2.8.8 1.15 - 2.11.0 + 2.18.0 3.9 3.6.1 1.5.0 @@ -39,21 +39,23 @@ index 918cdaa675..b420025c6c 100644 3.2.6 +- 2.17.2 +- 2.17.2 ++ 2.17.3 ++ 2.17.3 2.3.1 3.1.0 2.1.1 -- 2.3.2 -- 3.0.1-b08 + 9.0.93 - 9.3.13.0 -+ 2.3.4 -+ 3.0.1-b12 + 9.3.15.0 4.13.2 1.3 1.15.0 -@@ -610,19 +610,19 @@ - ${external.protobuf.version} +@@ -613,19 +613,19 @@ + 4.28.2 0.6.1 thrift - 0.14.1 @@ -66,18 +68,19 @@ index 918cdaa675..b420025c6c 100644 2.4.1 1.5.4 - 2.2.1 - 1.0.58 -- 2.12.2 +- 2.2.1 +- 1.0.58 ++ 2.2.3 ++ 1.0.61 + 2.12.3 - 1.78 - 1.5.1 -+ 2.12.3 + 1.78.1 + 1.5.3 1.0.1 1.1.0 4.2.0 -@@ -639,27 +639,27 @@ +@@ -642,27 +642,27 @@ 1.0.0 1.8 3.3.0 @@ -103,13 +106,13 @@ index 918cdaa675..b420025c6c 100644 - 3.12.0 + 3.12.1 - 0.24 + 0.27 1.11.0 1.8.0 - 1.1.10.4 - 1.5.5-2 -+ 1.1.10.5 -+ 1.5.6-3 ++ 1.1.10.7 ++ 1.5.6-9