xiangfu0 opened a new pull request, #19963: URL: https://github.com/apache/pinot/pull/19963
Published native minion outputs currently require manual replica assignments and installation requests. This adds automatic reconciliation for ordinary OFFLINE outputs, using explicit tenant and failure-domain approvals in the cluster setting `pinot.coordination.ratis.offline.placement`. Assignments and durable installation intents commit atomically. The controller retains eligible replicas, reconciles expired/draining/replaced server sessions, recovers unfinished operations after ownership changes, and completes installation only from exact current server receipts. The native task API exposes placement progress separately from publication; table-size observations exclude revoked materializations. Stacked on #19962. Helix/ZK remains the default, and native query listeners remain disabled. Scope is published minion outputs, with at most 64 approved server IDs and 16 replicas across distinct failure domains. Unsupported placement constraints fail closed. General segment lifecycle, physical cleanup, zero-downtime rebalance, and query enablement remain follow-up work. Configuration and status semantics are documented in `pinot-coordination-ratis/MINION-TASK-PLAN.md`. Validation on JDK 25: - 93 focused coordination, controller, server, transport, and starter tests passed. This includes real minion generation, automatic installation and measured bytes, server restart recovery, and controller restart without duplicate placement. - The 21 tests in `TaskCatalogTest` and `NativeControllerTasksTest` passed again after the final tier-rejection guard. - Formatting, Checkstyle, license checks, and `git diff --check` passed for all four affected modules. Compilation with warning/deprecation reporting found no warnings on added lines. -- 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]
