apache / apache/pinot

Broker InstanceDetails page does not show tables in different server tenants

Open
#8,061 0 comments 0 reactions 0 assignees View on GitHub
ui
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
2d 3h
Merged PRs (30d)
195

Description

If you have a table with the following config:
```
tenants:
broker: "TenantA"
server: "TenantB"
```
The `/instance/BROKER_` page will not show your table.
The `/tenants` page will not show your table (though maybe this is ok since server tenant maybe takes more priority here)

I started trying to tackle this by doing `/v2/tenants/{tableName}/tables` where it would return `{"server": [table1, table2], "broker": [table1, table3]}`, but I stopped. There just seems to be a disconnect between how tenants are designed, how they might be used in practice, how the API serves you data, and how the UI displays them.

The UI seems to make the assumption everywhere that server tenant == broker tenant. The `getTenantTable` function and backing API and all their users only ever get the tables for that tenant served by the server. There's no good API for tenant -> broker -> table. There is `/brokers/tables`, but again the UI is a little weird because it uses the same `InstanceDetails` page for both brokers and servers. So using a completely different function depending on instance type will look weird.

Anyway, I'm happy to work on this if anyone has an opinion on the implementation. I just don't have the time right now to chase figuring out the desired approach.

Contributor guide

Open the contributing guide

Research direction

Start with the getTenantTable function, its backing tenant-table API, the /v2/tenants/{tableName}/tables and /brokers/tables endpoints, and their users in the InstanceDetails page. First determine the intended relationship between server tenants and broker tenants; done should make tables with different tenant values appear consistently on the relevant instance and tenant pages.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, databases, frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.