xiangfu0 opened a new pull request, #17995: URL: https://github.com/apache/pinot/pull/17995
## Summary - Upgrade the shared `protobuf.version` to `4.34.0`. - Add an explicit `com.google.code.findbugs:jsr305` dependency to `pinot-confluent-protobuf` so the module still gets `javax.annotation` types on the protobuf 4.x dependency path. ## Why Pinot currently compiles against protobuf 3.x. Moving the shared protobuf version to 4.x exposed one repo-local breakage in `pinot-confluent-protobuf`: the module was relying on transitive JSR-305 annotations that are no longer present on the protobuf 4.x classpath. ## User / Developer Impact - Unblocks building Pinot against protobuf 4.x. - Makes the `pinot-confluent-protobuf` annotation dependency explicit instead of relying on transitive resolution. ## Root Cause `pinot-confluent-protobuf` referenced `javax.annotation.Nullable` and `javax.annotation.ParametersAreNonnullByDefault` without declaring the JSR-305 artifact directly. That happened to work on the older dependency graph, but it breaks once protobuf is upgraded to 4.x. ## How To Reproduce 1. Start from current `master`. 2. Change `protobuf.version` in the root `pom.xml` to a protobuf 4.x release. 3. Run `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf -am -DskipITs -Dskip.integration.tests=true -DskipTests compile`. 4. Observe missing `javax.annotation.Nullable` / `javax.annotation.ParametersAreNonnullByDefault` compilation errors. ## Validation - `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf spotless:apply` - `./mvnw -N spotless:apply` - `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf checkstyle:check` - `./mvnw -N checkstyle:check` - `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf license:format` - `./mvnw -N license:format` - `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf license:check` - `./mvnw -N license:check` - `./mvnw -pl pinot-common,pinot-server,pinot-query-planner,pinot-query-runtime -am -DskipITs -Dskip.integration.tests=true -DskipTests compile` - `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf -am -DskipITs -Dskip.integration.tests=true -DskipTests compile` ## Known Test Limitation - `./mvnw -pl pinot-plugins/pinot-input-format/pinot-confluent-protobuf -am -DskipITs -Dskip.integration.tests=true test` reaches the Docker-backed `ProtoBufConfluentSchemaTest`, but this environment has no Docker socket so Testcontainers cannot start the required service. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
