presto icon indicating copy to clipboard operation
presto copied to clipboard

feat(plugin-pinot): Add TLS support

Open Dilli-Babu-Godari opened this issue 2 months ago • 5 comments

Description

Added TLS support for Pinot

Motivation and Context

Impact

Test Plan

Contributor checklist

  • [ ] Please make sure your submission complies with our contributing guide, in particular code style and commit standards.
  • [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced.
  • [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality.
  • [ ] If release notes are required, they follow the release notes guidelines.
  • [ ] Adequate tests were added if applicable.
  • [ ] CI passed.

Release Notes

Please follow release notes guidelines and fill in the release notes below.

== RELEASE NOTES ==

General Changes
* Add TLS support for Pinot.

Dilli-Babu-Godari avatar Sep 25 '25 16:09 Dilli-Babu-Godari

CLA Signed

The committers listed above are authorized under a signed CLA.

  • :white_check_mark: login: Dilli-Babu-Godari / name: Dilli-Babu-Godari (71bc01a44805414d5a2c02acb788f08fa86d53c9)

Reviewer's Guide

This PR adds end-to-end TLS support for Pinot by introducing a grpc-protobuf dependency, configuring a secure JettyHttpClient with truststore options, and updating authentication headers to use the Basic scheme for all HTTP calls.

File-Level Changes

Change Details Files
Add grpc-protobuf dependency for TLS support
  • Added io.grpc:grpc-protobuf runtime dependency
  • Excluded conflicting artifacts (common-protos, error_prone, animal-sniffer, protobuf-java, grpc-netty-shaded, grpc-core, grpc-api)
presto-pinot/pom.xml
Configure secure HttpClient in PinotClusterInfoFetcher
  • Introduced HttpClientConfig for trustStore settings
  • Conditionally instantiate JettyHttpClient when useSecureConnection is true and trustStore path is provided
presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotClusterInfoFetcher.java
Update authentication header to include Basic scheme
  • Prefixed controller authentication header with 'Basic '
  • Prefixed broker authentication header with 'Basic '
presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotClusterInfoFetcher.java
Prefix Basic scheme for broker query authentication
  • Added 'Basic ' prefix to brokerAuthenticationProvider token in PinotBrokerPageSource
presto-pinot-toolkit/src/main/java/com/facebook/presto/pinot/PinotBrokerPageSource.java

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an issue from a review comment by replying to it. You can also reply to a review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull request title to generate a title at any time. You can also comment @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment @sourcery-ai summary on the pull request to (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

  • Contact our support team for questions or feedback.
  • Visit our documentation for detailed guides and information.
  • Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.

sourcery-ai[bot] avatar Sep 25 '25 16:09 sourcery-ai[bot]

Codenotify: Notifying subscribers in CODENOTIFY files for diff cd6528083ee94c895035ff2f6248475e34da13b2...cf0b85c234357ff4765663bf215d7efb21c319cc.

No notifications.

github-actions[bot] avatar Oct 06 '25 07:10 github-actions[bot]

Thanks for the release note! Nits.

== RELEASE NOTES ==

General Changes
* Add TLS support for Pinot.

steveburnett avatar Oct 06 '25 15:10 steveburnett

@agrawalreetika imported this issue as lakehouse/presto #26151

prestodb-ci avatar Nov 19 '25 18:11 prestodb-ci