Open buchireddy opened 4 years ago
Hi @buchireddy, this is the expected behavior because partition-based assignment is implicit for the LLC consuming segments. In order to rebalance the completed segments on to another set of servers, you can configure another tag for the servers to hold the completed segments and use the TagOverrideConfig to relocate the completed segments to that tag.
E.g. your current TenantConfig is:
{
"broker": "testTable",
"server": "testTable"
}
You can configure a new tag "testTable_OFFLINE" and tag some servers, then change your TenantConfig to:
{
"broker": "testTable",
"server": "testTable",
"tagOverrideConfig": {
"realtimeConsuming": "testTable_REALTIME",
"realtimeCompleted": "testTable_OFFLINE"
}
}
Then the rebalancer will relocate the completed segments to the servers with tag "testTable_OFFLINE". We also have periodic task to automatically relocate the completed segments.
Scenario Have a Pinot clustered setup with 4 Pinot servers. The Kafka topic from which Pinot is consuming has only one partition, because of which naturally only one server will be consuming. There were 100+ segments on that server after a while and we wanted to rebalance the finished segments onto other Pinot servers for rebalancing so tried rebalancing with the Controller side API.
Expected behavior Expected that all the finished segments will be rebalanced among all 4 pinot servers, instead of just the consuming server.
Observed behavior The segments were not moved out from that consuming Pinot server. Attached below is the response for the rebalance REST request.
Pinot version:
0.3.0
Is the understanding of expected behavior correct? Is this a bug?