xiangfu0 opened a new pull request, #19957: URL: https://github.com/apache/pinot/pull/19957
Selecting `pinot.coordination.backend=RATIS` now dispatches the normal controller, broker and server starters before any Helix/ZK initialization. Missing configuration retains Helix/ZK as the default; invalid or incomplete native configuration fails startup without falling back. The controller owns an embedded voter, qualified membership clock and mTLS metadata endpoint. The server starts the existing offline installation participant with durable directory ownership; the broker registers membership only and remains unready for routing. Native query listeners, controller HTTP/UI and server admin endpoints remain disabled. Minions and multi-cluster brokers are excluded. Controller startup requires an explicit qualification/authorization provider; no production clock defaults are supplied. The service manager starts native voters concurrently before participants, while preserving sequential Helix controller bootstrap. Startup failure and shutdown release owned resources and preserve another process's status callback. The shared bounded RPC connection is reused without adding Ratis server dependencies to broker/server. Stack 4/4: **#19950 → #19951 → #19952 → this PR**. This PR targets #19952's branch. The stack remains independent of shared-contracts PR #19926. This is coordination and installation wiring, not a complete Helix/ZK replacement or a queryable Ratis quickstart. Validation: 56 focused tests passed across 13 classes and targeted runs, covering real three-voter mTLS startup through the normal service manager, policy retention/server re-registration, failure cleanup, native listener gates, renewal recovery and existing Helix starter/lifecycle behavior. Scoped Spotless, Checkstyle, license checks and `git diff --check` passed. Compiled with JDK 25 and warning flags; no unresolved warnings on added lines, and the new common classes retain Java 11 bytecode. The final config-test and compiler reruns used `pinot-fastdev`; style/license checks passed separately without that profile. Hosted CI is separate from these local results. -- 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]
