From 46031f2352f2ae4e258da813c935b76beeeb3e8a Mon Sep 17 00:00:00 2001 From: Federico Valeri Date: Mon, 14 Jul 2025 17:17:25 +0200 Subject: [PATCH 1/3] KAFKA-19503: Deprecate MX4j support This feature adds maintenance burden and potential security concerns while providing no apparent value to the Kafka community. Signed-off-by: Federico Valeri --- core/src/main/scala/kafka/utils/Mx4jLoader.scala | 2 ++ docs/upgrade.html | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/scala/kafka/utils/Mx4jLoader.scala b/core/src/main/scala/kafka/utils/Mx4jLoader.scala index 5fbbebed47572..f5953251456ac 100644 --- a/core/src/main/scala/kafka/utils/Mx4jLoader.scala +++ b/core/src/main/scala/kafka/utils/Mx4jLoader.scala @@ -30,12 +30,14 @@ import javax.management.ObjectName * * This is a Scala port of org.apache.cassandra.utils.Mx4jTool written by Ran Tavory for CASSANDRA-1068 * */ +@deprecated object Mx4jLoader extends Logging { def maybeLoad(): Boolean = { val props = new VerifiableProperties(System.getProperties) if (!props.getBoolean("kafka_mx4jenable", default = false)) return false + warn("MX4j is deprecated and will be removed in the next major release") val address = props.getString("mx4jaddress", "0.0.0.0") val port = props.getInt("mx4jport", 8082) try { diff --git a/docs/upgrade.html b/docs/upgrade.html index 3beec9dcb1487..4b8010614d7d0 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -34,9 +34,11 @@
Notable changes in 4
  • The KafkaPrincipalBuilder now extends KafkaPrincipalSerde. Force developer to implement KafkaPrincipalSerde interface for custom KafkaPrincipalBuilder. For further details, please refer to KIP-1157.
  • +
  • + The support for MX4J library, enabled through kafka_mx4jenable system property, was deprecated and will be removed in the next major release. +
  • -

    Upgrading to 4.1.0

    Upgrading Servers to 4.1.0 from any version 3.3.x through 4.0.x
    From 82728d2ff7d7827f3efec492fa7026ad7583be81 Mon Sep 17 00:00:00 2001 From: Federico Valeri Date: Tue, 22 Jul 2025 09:25:03 +0200 Subject: [PATCH 2/3] Address comments Signed-off-by: Federico Valeri --- docs/upgrade.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/upgrade.html b/docs/upgrade.html index 4b8010614d7d0..62c181bb3b188 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -35,7 +35,7 @@
    Notable changes in 4 For further details, please refer to KIP-1157.
  • - The support for MX4J library, enabled through kafka_mx4jenable system property, was deprecated and will be removed in the next major release. + The support for MX4J library, enabled through kafka_mx4jenable system property, was deprecated and will be removed in the next major release.
  • From 02bc493a2aa75e177167aafa5c00a83c937a10af Mon Sep 17 00:00:00 2001 From: Federico Valeri Date: Tue, 22 Jul 2025 09:50:06 +0200 Subject: [PATCH 3/3] Address comments Signed-off-by: Federico Valeri --- core/src/main/scala/kafka/utils/Mx4jLoader.scala | 2 +- docs/upgrade.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/scala/kafka/utils/Mx4jLoader.scala b/core/src/main/scala/kafka/utils/Mx4jLoader.scala index f5953251456ac..7e8b1dba53e6a 100644 --- a/core/src/main/scala/kafka/utils/Mx4jLoader.scala +++ b/core/src/main/scala/kafka/utils/Mx4jLoader.scala @@ -37,7 +37,7 @@ object Mx4jLoader extends Logging { val props = new VerifiableProperties(System.getProperties) if (!props.getBoolean("kafka_mx4jenable", default = false)) return false - warn("MX4j is deprecated and will be removed in the next major release") + warn("MX4j is deprecated and will be removed in Kafka 5.0") val address = props.getString("mx4jaddress", "0.0.0.0") val port = props.getInt("mx4jport", 8082) try { diff --git a/docs/upgrade.html b/docs/upgrade.html index 62c181bb3b188..c3b773a12aabb 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -35,7 +35,7 @@
    Notable changes in 4 For further details, please refer to KIP-1157.
  • - The support for MX4J library, enabled through kafka_mx4jenable system property, was deprecated and will be removed in the next major release. + The support for MX4J library, enabled through kafka_mx4jenable system property, was deprecated and will be removed in Kafka 5.0.