xiangfu0 opened a new pull request, #17040: URL: https://github.com/apache/pinot/pull/17040
## Summary This PR adds a comprehensive Pinot Admin Client to the `pinot-java-client` module that provides a complete programmatic interface for all Pinot controller administrative operations. ## Key Features - **Complete API Coverage**: Codifies all Pinot controller REST endpoints - **6 Service Clients**: Table, Schema, Instance, Segment, Tenant, Task management - **Authentication Support**: Basic, Bearer token, and custom authentication - **Async Operations**: Both synchronous and asynchronous methods - **Comprehensive Error Handling**: Specific exception types for different scenarios - **Type Safety**: Strongly typed API with proper documentation ## Architecture - `PinotAdminClient` - Main entry point with connection management - `PinotAdminTransport` - HTTP transport layer for controller communication - Service clients for each resource type (Table, Schema, Instance, etc.) - Exception hierarchy for robust error handling - Authentication utilities for secure operations ## Files Added - 16 new files in `pinot-clients/pinot-java-client/src/main/java/org/apache/pinot/client/admin/` - Complete documentation and usage examples - Integration tests ## Impact This provides a complete programmatic interface for Pinot cluster administration, eliminating the need for direct HTTP API calls to the controller and enabling developers to manage Pinot clusters through a type-safe Java API. ## Testing - All admin client classes compile successfully - Code quality checks pass - Functionality verified through custom tests -- 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]
