Hi, I tried to kick off a rebalance for one of my ...
# troubleshooting
w
Hi, I tried to kick off a rebalance for one of my tables (moving tenant), but afterward I saw that the idealstate wasn't correct. While before I had two replicas for each segment on a set of servers, now each segment only had 1 replica on the same set of servers (not even the new servers I was trying to move them to), with the exception of the most recent segment that got moved and has the correct number of replicas. Does anyone know what the issue might be? FYI this table is being actively queried.
j
Did you by any chance change the replication of the table?
You can try a dry run and see the ideal state generated
w
I have since try to change it to get it back to the original state, but not when I originally did the rebalance.
Hmm I ran the rebalance from the controller UI and when I did it showed me the generated idealstate which was correct along with the "Rebalance in progress (check controller logs for updates)" stuff
but yeah the idealstate in the Zookeeper browser was diff afterwards
j
That is definitely unexpected
Can you try again with dry-run enabled?
Oh, before that, let's make sure you are checking the ideal state instead of the external view?
Ideal state should always have 2 replicas, while external view might have 1 replica during the transitioning phase
w
Yup, it's the idealstate. It's weird because
"simpleFields"."REPLICAS"
is 3 for me right now but most segments only have 1.
@Jackie Here are some screenshots. After the dry run in the first picture I ran normally, showed successfully in progress, then 2nd pic shows current idealstate.
j
Can you try the rebalance again and see if the new replica is added?
w
no change unfortunately. Is it possible that since there are segments with only 1 replica now nothing will work unless I set downtime to true?
j
Can you please check the controller log and see why the ideal state is not updated? The log should be under the class
TableRebalancer
w
@Jackie hmm is this the right way to get that
cat pinot-all.log | grep TableRebalancer
?
j
Sync offline. Currently
TableRebalancer
cannot rebalance the table without downtime when there is only 1 replica in the current assignment. Submitted a fix for this: https://github.com/apache/pinot/pull/7532