akg268 opened a new pull request, #19251: URL: https://github.com/apache/pinot/pull/19251
Fixes #12055 ## Summary - Add a typed `SegmentCompletionProtocol.ReasonCode` and send it as a `reasonCode` query parameter while preserving the existing `reason` parameter. - Send reason codes from the realtime server for known stop reasons. - Use reason codes in controller segment-completion decisions, with fallback to the legacy reason string for older servers and safe handling for unknown future codes. - Add compatibility and controller behavior tests for known codes, unknown codes, legacy fallback, winner selection, and force-commit threshold handling. ## Testing - `./mvnw -pl pinot-common -am -Dtest=SegmentCompletionProtocolTest -Dsurefire.failIfNoSpecifiedTests=false -DfailIfNoTests=false -Denforcer.skip=true -Djdk.version=21 test` - `./mvnw -pl pinot-controller checkstyle:check -Denforcer.skip=true -Djdk.version=21` - `./mvnw -pl pinot-core checkstyle:check -Denforcer.skip=true -Djdk.version=21` - `git diff --check` Note: Local machine has JDK 21, so these local runs skip the JDK enforcer. CI should run with Pinot's required JDK. cc @Jackie-Jiang @krishan1390 @krishna-st for review. -- 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]
