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


##########
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:
   Adding reproduction evidence for the current head (`0fbfa29`). I built an 
isolated SDK bundle using this PR's include/relocation rules, its Google 
BOM/Protobuf versions, and Maven Shade 3.5.3 (not a full Spark/GCS integration 
run).
   
   With `protobuf-java:2.5.0` before the bundle on the classpath, this fails:
   ```java
   
com.google.protobuf.Timestamp.newBuilder().setSeconds(1).build().toByteArray();
   ```
   ```
   java.lang.IllegalAccessError: class com.google.protobuf.Timestamp tried to 
access private field com.google.protobuf.AbstractMessage.memoizedSize
   ```
   The same call succeeds without the older host Protobuf. This demonstrates 
incompatible classes being loaded from the two jars; it does not establish that 
the HTTP lock path itself reaches this serialization call. 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.



-- 
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