apache / apache/pinot

JDBC driver doesn't work with Kubernetes Pinot cluster

Open
#7,166 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

The JDBC driver is not able to run queries if pinot is deployed in kubernetes cluster.
The driver uses controller URL in the connection and then fetches the broker list from controller for the tenant specified in JDBC properties
Now what's happening is that in clusters such as k8s, the controller returns the broker hostname and not IP/ingress url
```bash
curl -X GET "http://localhost:9000/v2/brokers/tenants/DefaultTenant?state=ONLINE" -H "accept: application/json"
```
Queries cannot be executed against hostname since it is unresolvable to the drivers which are running outside the Kubernetes cluster.

Contributor guide

Open the contributing guide

Research direction

Start with the JDBC connection path that uses the controller URL and the /v2/brokers/tenants/DefaultTenant endpoint shown in the report. Trace how broker hostnames returned for a Kubernetes deployment are consumed by a driver running outside the cluster. Done means queries execute successfully from that external JDBC client against a Kubernetes Pinot cluster.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kubernetes
Domain
databases, distributed-systems, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.