xiangfu0 opened a new pull request, #19959: URL: https://github.com/apache/pinot/pull/19959
Selecting `pinot.coordination.backend=RATIS` now starts the normal controller HTTP/HTTPS, authentication, audit and UI shell with native metadata routes. The console can browse metadata and perform validated schema, ordinary OFFLINE table-config and cluster-config writes. Helix/ZK remains the default; native query listeners remain disabled. Writes validate one committed catalog image and atomically reject intervening catalog changes. Exact ETags protect updates/deletes; stable creation IDs and retained tombstones prevent duplicate creation after lost replies. A bounded durable controller stream recovers after restart. The UI preserves the original request for an explicit retry after an unknown result and does not silently rebase it. The native resource set rejects operations requiring unfinished lifecycle support: table deletion, segment actions, REALTIME/hybrid tables, minions, and configuration changes with existing native segment/operation dependencies. Unknown properties, skipped validation, ambiguous names and host-local config templates are rejected. This is a staged controller integration, not a complete Helix/ZK replacement. Stack 5/5: **#19950 → #19951 → #19952 → #19957 → controller REST/UI (this PR)**. Targets #19957's branch and remains independent of shared-contracts PR #19926. All stack PRs remain draft. Validation: 173 tests passed across 12 classes and focused runs, covering actual three-voter HTTP/HTTPS writes and restart recovery, conditional-write races/tombstones/lost replies, auth scope, default Helix startup, disabled native query ports and the existing table-validation suite. Production UI build and isolated headless-browser smoke passed, including exact retry preservation, numeric fidelity, native route isolation and the Helix query console. Scoped Spotless, Checkstyle, license checks and `git diff --check` passed; JDK 25 compilation has no unresolved warnings on added lines. Fast-dev test runs were followed by separate style/license validation. 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]
