xiangfu0 opened a new pull request, #19964: URL: https://github.com/apache/pinot/pull/19964
The Ratis controller now accepts immutable OFFLINE archives through the normal multipart `POST /v2/segments` API and reconciles every published segment, including minion outputs, into server replicas. Previously only task outputs were reconciled, and the starter integration test needed direct metadata publication. Stacked on #19963. Keep this PR and its ancestors in draft; Helix/ZK remains the default and native query listeners stay disabled. - Preserve normal upload authorization and database scoping. Bound multipart/archive processing, validate segment bytes and destination schema, persist a content-addressed archive, then atomically check the captured table/schema versions and controller ownership before publication. - Resolve identical retries without duplicate content or installation work; reject different bytes under an occupied name. Retain existing command replay semantics and use the existing assignment, installation-intent and exact-receipt protocol. - Replace direct publication in the normal-starter test with authenticated HTTP uploads, cross-controller retries, real installation, and server/controller restart recovery. Validation: 53 focused TestNG tests passed on JDK 25 across the catalog, controller, upload storage and normal starters. Explicit Spotless, Checkstyle and license checks passed for the affected modules. Compiler warning checks found no warnings on added source lines. Scope: one unencrypted immutable OFFLINE archive per request using a shared local filesystem. Refresh/deletion, quotas, consistent batch push, remote deep-store uploads, owner forwarding and orphan reclamation remain outstanding. Successful upload means committed publication; installation and query availability are separate. This is not yet a complete Helix/ZooKeeper replacement. -- 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]
