From f5fcc4188f44f718ac3d6a806af69495526513ca Mon Sep 17 00:00:00 2001 From: Federico Valeri Date: Tue, 22 Jul 2025 14:36:24 +0200 Subject: [PATCH] KAFKA-19503: Deprecate MX4j support (#20208) This feature adds maintenance burden and potential security concerns while providing no apparent value to the Kafka community. See [KIP-1193](https://cwiki.apache.org/confluence/x/dAxJFg) for more details. Reviewers: TengYao Chi , Ken Huang --------- 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 5fbbebed475..7e8b1dba53e 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 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 3beec9dcb14..c3b773a12aa 100644 --- a/docs/upgrade.html +++ b/docs/upgrade.html @@ -34,9 +34,11 @@
  • 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 Kafka 5.0. +
  • -

    Upgrading to 4.1.0

    Upgrading Servers to 4.1.0 from any version 3.3.x through 4.0.x