Hi team, does anyone have experience migrating fro...
# general
s
Hi team, does anyone have experience migrating from the default instance and segment assignment strategy to the Pool-based instance assignment and replica-group assignment strategy? Want to learn any pain-points or anything that should be cautious from you
m
@Jackie ^^
j
we’ve done this several times with no real issues. we typically think of it as just a “rebalance”, so if you want to avoid downtime (set the right corresponding flags: reassignInstances, keep N-1 replicas up, no downtime, etc). And we like to set the minimizeDataMovement flag in our table configs to avoid moving around more segments than is needed
It’s also recommended to run the rebalance with “dry run” and manually validate the new plan.
s
thank you! @Johan Adami One concern I have with rebalance is that even under no downtime mode, if some servers has no extra capacity to hold the extra replicas, the rebalance will actually be affected. How do you solve it or have you seen issues related to this?
j
unfortunately that is an open feature request, https://github.com/apache/pinot/issues/10002
s
Ah, didn't find it. Thanks!
j
this is where
minimizeDataMovement
can help, but I can’t think of a better way other than, make sure you have at least 2x the disk space
s
right. we now have to ensure the disk space first
j
or maybe one way is to rebalance onto brand new servers, then take down the original ones
s
Hi @Johan Adami, want to recap on this topic. I have a question regarding the zookeeper usage of the pool-based instance assignment. Since each table will have a dedicated znode under instancePartitions, will this be a concern for a large cluster? What's the biggest cluster you guys have with the pool-based assignment?
cc: @Ting Chen
j
it can be, and we’ve definitely had to increase the size of each zk node as well as increase its heap memory before
we have a pinot table with 281,000 segments in 2 pools. we rebalance that one with downtime, and it definitely causes a huge in spike in ZK nodes, but it hasn’t broken. We’ve also rebalanced tables with 20,000 segments with 3 replicas and no downtime, and that has also been fine
s
why would the rebalance with downtime cause ZK nodes spike? Is it rebalance from no-pool to pool-based?
j
maybe @David Yang knows better. I just anecdotally have seen an increase in ZK nodes during rebalances
thanks 1
s
Thank you Johan.
d
i think we’ve typically seen ZK node spikes due to helix messages propagating around the system for segment state transitions due to the high # of segments we have
j
@Si Lao We rarely run into issues caused by too many tables. Usually the issues are caused by too many segments in a table. I cannot imagine a cluster with 100K tables
j
ty jackie. i realize the question was asking about table count and not segment count.
s
Thank you both! I think helix messaging regarding state transition is not special in terms of pool-based. It also happens for normal balanced assignment. As long as there are massive rebalance happening, these state transition messages can spike.