JDBC driver doesn't work with Kubernetes Pinot cluster
- 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
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