diff --git a/CHANGES.md b/CHANGES.md
index efb4f49b0..8f7c72976 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -15,6 +15,7 @@ Release Notes.
* Support Multiple DNS period resolving mechanism
* Modify `Tags.STATUS_CODE` field name to `Tags.HTTP_RESPONSE_STATUS_CODE` and type from `StringTag` to `IntegerTag`, add `Tags.RPC_RESPONSE_STATUS_CODE` field to hold rpc response code value.
+* Fix kafka-reporter-plugin shade package conflict
#### OAP-Backend
diff --git a/apm-sniffer/optional-reporter-plugins/kafka-reporter-plugin/pom.xml b/apm-sniffer/optional-reporter-plugins/kafka-reporter-plugin/pom.xml
index 6b1a1c665..c60ac2043 100644
--- a/apm-sniffer/optional-reporter-plugins/kafka-reporter-plugin/pom.xml
+++ b/apm-sniffer/optional-reporter-plugins/kafka-reporter-plugin/pom.xml
@@ -52,6 +52,13 @@
true
true
true
+
+
+ org.xerial.snappy:snappy-java
+ org.lz4:lz4-java
+ com.github.luben:zstd-jni
+
+
org.apache.kafka
@@ -69,38 +76,6 @@
org.slf4j
${shade.package}/org.slf4j
-
- org.xerial
- ${shade.package}/org.xerial
-
-
- net.jpountz
- ${shade.package}/net.jpountz
-
-
- aix.ppc64
- ${shade.package}/aix.ppc64
-
-
- com.github.luben
- ${shade.package}/com.github.luben
-
-
- darwin
- ${shade.package}/darwin
-
-
- include
- ${shade.package}/include
-
-
- linux
- ${shade.package}/linux
-
-
- win
- ${shade.package}/win
-
@@ -150,6 +125,42 @@
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ ${maven-dependency-plugin.version}
+
+
+ copy
+ package
+
+ copy
+
+
+
+
+ org.xerial.snappy
+ snappy-java
+ 1.1.7.3
+ ${optional.reporter.plugins.dest.dir}
+
+
+ org.lz4
+ lz4-java
+ 1.6.0
+ ${optional.reporter.plugins.dest.dir}
+
+
+ com.github.luben
+ zstd-jni
+ 1.4.3-1
+ ${optional.reporter.plugins.dest.dir}
+
+
+
+
+
+
diff --git a/docs/en/setup/service-agent/java-agent/How-to-enable-kafka-reporter.md b/docs/en/setup/service-agent/java-agent/How-to-enable-kafka-reporter.md
index 7e7b8245a..baf9c6985 100644
--- a/docs/en/setup/service-agent/java-agent/How-to-enable-kafka-reporter.md
+++ b/docs/en/setup/service-agent/java-agent/How-to-enable-kafka-reporter.md
@@ -2,6 +2,8 @@
The Kafka reporter plugin support report traces, JVM metrics, Instance Properties, and profiled snapshots to Kafka cluster, which is disabled in default. Move the jar of the plugin, `kafka-reporter-plugin-x.y.z.jar`, from `agent/optional-reporter-plugins` to `agent/plugins` for activating.
+If you configure to use `compression.type` such as `lz4`, `zstd`, `snappy`, etc., you also need to move the jar of the plugin, `lz4-java-x.y.z.jar` or `zstd-jni-x.y.z.jar` or `snappy-java.x.y.z.jar`, from `agent/optional-reporter-plugins` to `agent/plugins`.
+
Notice, currently, the agent still needs to configure GRPC receiver for delivering the task of profiling. In other words, the following configure cannot be omitted.
```properties
diff --git a/test/e2e/e2e-test/docker/kafka/Dockerfile.provider b/test/e2e/e2e-test/docker/kafka/Dockerfile.provider
index 3e61dc06e..916a9b278 100644
--- a/test/e2e/e2e-test/docker/kafka/Dockerfile.provider
+++ b/test/e2e/e2e-test/docker/kafka/Dockerfile.provider
@@ -27,6 +27,7 @@ RUN mv apache-skywalking-apm-bin/* . || true
RUN sed -i 's/# plugin.kafka.bootstrap_servers/plugin.kafka.bootstrap_servers/g' agent/config/agent.config
RUN echo 'plugin.kafka.get_topic_timeout=${SW_GET_TOPIC_TIMEOUT:60}' >> agent/config/agent.config
+RUN echo 'plugin.kafka.producer_config[compression.type]=snappy' >> agent/config/agent.config
# add log reporter configuration
RUN echo 'plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:oap}' >> agent/config/agent.config
@@ -34,6 +35,7 @@ RUN echo 'plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT
# activate kafka-reporter plugin
RUN mv agent/optional-reporter-plugins/kafka-reporter-plugin-*.jar agent/plugins/ || true
+RUN mv agent/optional-reporter-plugins/snappy-java-*.jar agent/plugins/ || true
VOLUME /services