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

xiangfu0 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new 55afab92fe1 Use managed Guava and Jackson instead of embedded 
vulnerable copies (#19890)
55afab92fe1 is described below

commit 55afab92fe165cf222c9074084bf570a0d6ad290
Author: Xiang Fu <[email protected]>
AuthorDate: Fri Oct 16 14:32:42 2026 -0700

    Use managed Guava and Jackson instead of embedded vulnerable copies (#19890)
    
    * Use managed Guava instead of embedded Hadoop and Curator copies
    
    * Remove stale Guava module metadata embedded by Hadoop
    
    * Use managed Guava instead of the embedded Iceberg copy
    
    * Use managed Guava for Pulsar and JDBC embedded copies
    
    * Use managed Jackson instead of embedded dependency copies
---
 pinot-plugins/pinot-file-system/pinot-s3/pom.xml   |   4 +
 .../pinot-stream-ingestion/pinot-pulsar/pom.xml    |   4 +
 pom.xml                                            | 111 +++++++++++++++++++++
 3 files changed, 119 insertions(+)

diff --git a/pinot-plugins/pinot-file-system/pinot-s3/pom.xml 
b/pinot-plugins/pinot-file-system/pinot-s3/pom.xml
index 4fb57c927ab..156fdb6f553 100644
--- a/pinot-plugins/pinot-file-system/pinot-s3/pom.xml
+++ b/pinot-plugins/pinot-file-system/pinot-s3/pom.xml
@@ -35,6 +35,10 @@
   </properties>
 
   <dependencies>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+    </dependency>
     <dependency>
       <groupId>software.amazon.awssdk</groupId>
       <artifactId>s3</artifactId>
diff --git a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml 
b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml
index 239fa283465..9054308a038 100644
--- a/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml
+++ b/pinot-plugins/pinot-stream-ingestion/pinot-pulsar/pom.xml
@@ -41,6 +41,10 @@
       <groupId>org.apache.pulsar</groupId>
       <artifactId>pulsar-client-all</artifactId>
     </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+    </dependency>
     <!-- Pulsar declares these with runtime scope, which takes precedence over 
the provided scope inherited through
          pinot-spi and removes them from the compile classpath -->
     <dependency>
diff --git a/pom.xml b/pom.xml
index a060fe76469..eb80fe50f10 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2977,6 +2977,39 @@
                 <exclude>shaded/parquet/com/fasterxml/jackson/**</exclude>
                 
<exclude>META-INF/versions/**/shaded/parquet/com/fasterxml/jackson/**</exclude>
 
+                <!-- Keep Hadoop's shaded JAX-RS providers while using managed 
Jackson core and databind. -->
+                
<exclude>org/apache/hadoop/shaded/com/fasterxml/jackson/core/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/hadoop/shaded/com/fasterxml/jackson/core/**</exclude>
+                
<exclude>org/apache/hadoop/shaded/com/fasterxml/jackson/databind/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/hadoop/shaded/com/fasterxml/jackson/databind/**</exclude>
+                
<exclude>org/apache/hadoop/shaded/com/fasterxml/jackson/annotation/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/hadoop/shaded/com/fasterxml/jackson/annotation/**</exclude>
+                <exclude>com/facebook/presto/jdbc/internal/jackson/**</exclude>
+                
<exclude>META-INF/versions/**/com/facebook/presto/jdbc/internal/jackson/**</exclude>
+                
<exclude>software/amazon/awssdk/thirdparty/jackson/core/**</exclude>
+                
<exclude>META-INF/versions/**/software/amazon/awssdk/thirdparty/jackson/core/**</exclude>
+                <!-- Presto's canonical Jackson Joda module must see canonical 
Joda-Time values. -->
+                
<exclude>com/facebook/presto/jdbc/internal/joda/time/**</exclude>
+                
<exclude>META-INF/versions/**/com/facebook/presto/jdbc/internal/joda/time/**</exclude>
+
+                <!-- Use managed Guava instead of copies embedded in 
dependencies. -->
+                
<exclude>org/apache/hadoop/thirdparty/com/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/hadoop/thirdparty/com/google/common/**</exclude>
+                
<exclude>org/apache/hadoop/shaded/com/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/hadoop/shaded/com/google/common/**</exclude>
+                
<exclude>org/apache/hadoop/shaded/org/apache/curator/shaded/com/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/hadoop/shaded/org/apache/curator/shaded/com/google/common/**</exclude>
+                
<exclude>org/apache/curator/shaded/com/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/curator/shaded/com/google/common/**</exclude>
+                
<exclude>org/apache/iceberg/relocated/com/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/iceberg/relocated/com/google/common/**</exclude>
+                <exclude>org/apache/pulsar/shade/com/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/org/apache/pulsar/shade/com/google/common/**</exclude>
+                <exclude>com/facebook/presto/jdbc/internal/guava/**</exclude>
+                
<exclude>META-INF/versions/**/com/facebook/presto/jdbc/internal/guava/**</exclude>
+                
<exclude>net/snowflake/client/jdbc/internal/google/common/**</exclude>
+                
<exclude>META-INF/versions/**/net/snowflake/client/jdbc/internal/google/common/**</exclude>
+
                 <!-- Azure storage uses only HTTP clients. Remove the unused 
Reactor Netty HTTP server
                      and its vulnerable pipelining handler (CVE-2026-47874), 
including already shaded inputs. -->
                 <exclude>reactor/netty/http/server/**</exclude>
@@ -2999,6 +3032,28 @@
                 <exclude>META-INF/maven/com.fasterxml.jackson.core/**</exclude>
               </excludes>
             </filter>
+            <filter>
+              <artifact>org.apache.hadoop*:*</artifact>
+              <excludes>
+                <exclude>META-INF/maven/com.google.guava/**</exclude>
+                <exclude>META-INF/maven/com.fasterxml.jackson.core/**</exclude>
+                <exclude>META-INF/versions/**/module-info.class</exclude>
+              </excludes>
+            </filter>
+            <filter>
+              <artifact>org.apache.iceberg:iceberg-bundled-guava</artifact>
+              <excludes>
+                <exclude>META-INF/maven/com.google.guava/**</exclude>
+                <exclude>META-INF/versions/**/module-info.class</exclude>
+              </excludes>
+            </filter>
+            <filter>
+              <!-- Already shaded plugins can also carry embedded Guava 
metadata. -->
+              <artifact>org.apache.pinot:*</artifact>
+              <excludes>
+                <exclude>META-INF/maven/com.google.guava/**</exclude>
+              </excludes>
+            </filter>
             <filter>
               <!-- hadoop-client-runtime is a Hadoop uber-jar that bundles its 
own relocated Jetty
                    (org.apache.hadoop.shaded.org.eclipse.jetty). It exists 
only for Hadoop's embedded
@@ -3022,6 +3077,30 @@
             </filter>
           </filters>
           <relocations>
+            <relocation>
+              
<pattern>org.apache.hadoop.shaded.com.fasterxml.jackson.core</pattern>
+              
<shadedPattern>${shade.prefix}.com.fasterxml.jackson.core</shadedPattern>
+            </relocation>
+            <relocation>
+              
<pattern>org.apache.hadoop.shaded.com.fasterxml.jackson.databind</pattern>
+              
<shadedPattern>${shade.prefix}.com.fasterxml.jackson.databind</shadedPattern>
+            </relocation>
+            <relocation>
+              
<pattern>org.apache.hadoop.shaded.com.fasterxml.jackson.annotation</pattern>
+              
<shadedPattern>${shade.prefix}.com.fasterxml.jackson.annotation</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>com.facebook.presto.jdbc.internal.jackson</pattern>
+              
<shadedPattern>${shade.prefix}.com.fasterxml.jackson</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>software.amazon.awssdk.thirdparty.jackson.core</pattern>
+              
<shadedPattern>${shade.prefix}.com.fasterxml.jackson.core</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>com.facebook.presto.jdbc.internal.joda.time</pattern>
+              <shadedPattern>org.joda.time</shadedPattern>
+            </relocation>
             <relocation>
               <pattern>shaded.parquet.com.fasterxml.jackson</pattern>
               
<shadedPattern>${shade.prefix}.com.fasterxml.jackson</shadedPattern>
@@ -3030,6 +3109,38 @@
               <pattern>com.fasterxml.jackson</pattern>
               
<shadedPattern>${shade.prefix}.com.fasterxml.jackson</shadedPattern>
             </relocation>
+            <relocation>
+              <pattern>org.apache.hadoop.thirdparty.com.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>org.apache.hadoop.shaded.com.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              
<pattern>org.apache.hadoop.shaded.org.apache.curator.shaded.com.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>org.apache.curator.shaded.com.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>org.apache.iceberg.relocated.com.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>org.apache.pulsar.shade.com.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              <pattern>com.facebook.presto.jdbc.internal.guava</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
+            <relocation>
+              
<pattern>net.snowflake.client.jdbc.internal.google.common</pattern>
+              <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>
+            </relocation>
             <relocation>
               <pattern>com.google.common</pattern>
               <shadedPattern>${shade.prefix}.com.google.common</shadedPattern>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to