You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ij...@apache.org on 2021/02/14 16:19:34 UTC

[kafka] 01/02: MINOR: Update zstd and use classes with no finalizers (#10120)

This is an automated email from the ASF dual-hosted git repository.

ijuma pushed a commit to branch 2.8
in repository https://gitbox.apache.org/repos/asf/kafka.git

commit f53cfa3bb3e15151fb8fac3a4cd31067f149b0d1
Author: Ismael Juma <is...@juma.me.uk>
AuthorDate: Sat Feb 13 07:28:17 2021 -0800

    MINOR: Update zstd and use classes with no finalizers (#10120)
    
    The updated version includes a few optimizations that benefit us:
    * Classes with no finalizers (opt-in) that have better GC behavior
    * `InputStream.skip()` implementation that uses cached buffers
    * Minor buffer recycler optimizations (used for OutputStream only)
    
    Full diff:
    https://github.com/luben/zstd-jni/compare/v1.4.8-2...v1.4.8-4
    
    Reviewers: Chia-Ping Tsai <ch...@gmail.com>
---
 .../src/main/java/org/apache/kafka/common/record/CompressionType.java | 4 ++--
 gradle/dependencies.gradle                                            | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/clients/src/main/java/org/apache/kafka/common/record/CompressionType.java b/clients/src/main/java/org/apache/kafka/common/record/CompressionType.java
index 19a3f8e..c2694ca 100644
--- a/clients/src/main/java/org/apache/kafka/common/record/CompressionType.java
+++ b/clients/src/main/java/org/apache/kafka/common/record/CompressionType.java
@@ -226,9 +226,9 @@ public enum CompressionType {
 
     private static class ZstdConstructors {
         // It's ok to reference `BufferPool` since it doesn't load any native libraries
-        static final MethodHandle INPUT = findConstructor("com.github.luben.zstd.ZstdInputStream",
+        static final MethodHandle INPUT = findConstructor("com.github.luben.zstd.ZstdInputStreamNoFinalizer",
             MethodType.methodType(void.class, InputStream.class, BufferPool.class));
-        static final MethodHandle OUTPUT = findConstructor("com.github.luben.zstd.ZstdOutputStream",
+        static final MethodHandle OUTPUT = findConstructor("com.github.luben.zstd.ZstdOutputStreamNoFinalizer",
             MethodType.methodType(void.class, OutputStream.class, BufferPool.class));
     }
 
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 954a495..9340e3c 100644
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -118,7 +118,7 @@ versions += [
   testRetryPlugin: "1.2.0",
   zinc: "1.3.5",
   zookeeper: "3.5.9",
-  zstd: "1.4.8-2"
+  zstd: "1.4.8-4"
 ]
 libs += [
   activation: "javax.activation:activation:$versions.activation",