zhangxinyao88 commented on code in PR #20020:
URL: https://github.com/apache/hudi/pull/20020#discussion_r4129604433


##########
packaging/hudi-gcp-bundle/pom.xml:
##########
@@ -99,7 +99,18 @@
                   <include>org.apache.hudi:hudi-hive-sync</include>
                   <include>org.apache.hudi:hudi-gcp</include>
                   <include>org.apache.parquet:parquet-avro</include>
-                  <include>com.google.cloud:google-cloud-bigquery</include>
+                  <!-- Google Cloud SDK -->
+                  <include>com.google.cloud:*</include>
+                  <include>com.google.api:*</include>
+                  <include>com.google.api-client:*</include>
+                  <include>com.google.api.grpc:*</include>
+                  <include>com.google.auth:*</include>
+                  <include>com.google.http-client:*</include>
+                  <include>com.google.oauth-client:*</include>
+                  <include>com.google.protobuf:*</include>

Review Comment:
   > Please isolate the bundled Protobuf dependency, audit the gRPC/API 
boundary, and add a runtime compatibility test with host Protobuf present 
before treating this as a low-risk packaging change.
   
   Protobuf and gRPC now use a GCP-specific prefix. The smoke test serializes a 
shaded `Timestamp` with host Protobuf 2.5.0 on either side of the bundle. This 
does not test a live GCS request.



##########
packaging/hudi-gcp-bundle/pom.xml:
##########
@@ -114,6 +133,10 @@
                   <pattern>org.openjdk.jol.</pattern>
                   
<shadedPattern>org.apache.hudi.org.openjdk.jol.</shadedPattern>
                 </relocation>
+                <relocation>
+                  <pattern>com.google.common.</pattern>

Review Comment:
   > Please also relocate `com.google.thirdparty.` and cover both classpath 
orders in a packaging smoke test.
   
   `com.google.thirdparty.` is now relocated. The smoke test checks both host 
and shaded `publicSuffix()` with Guava 27 before and after the bundle.



##########
packaging/hudi-gcp-bundle/pom.xml:
##########
@@ -99,7 +99,24 @@
                   <include>org.apache.hudi:hudi-hive-sync</include>
                   <include>org.apache.hudi:hudi-gcp</include>
                   <include>org.apache.parquet:parquet-avro</include>
-                  <include>com.google.cloud:google-cloud-bigquery</include>
+                  <!-- Google Cloud SDK -->
+                  <include>com.google.cloud:*</include>
+                  <include>com.google.api:*</include>
+                  
<include>com.google.apis:google-api-services-storage</include>
+                  <include>com.google.api-client:*</include>
+                  <include>com.google.api.grpc:*</include>
+                  <include>com.google.auth:*</include>
+                  <include>com.google.code.gson:gson</include>
+                  <include>com.google.http-client:*</include>
+                  <include>com.google.oauth-client:*</include>
+                  <include>com.google.protobuf:*</include>
+                  <include>io.grpc:*</include>
+                  <include>io.opencensus:*</include>

Review Comment:
   > Please include the implementation's runtime dependency or narrow the 
OpenCensus inclusion so the implementation is not activated unintentionally.
   
   I included Disruptor. The isolated test now initializes 
`StorageOptions.getService()` in both classpath orders, without contacting GCS.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to