virajjasani commented on issue #468: HBASE-22822 : Un/Re-schedule balancer chore with balance_switch URL: https://github.com/apache/hbase/pull/468#issuecomment-520305714 > IIRC, `gracefully_stop.sh` will turn balancer off, move regions, stop/restart RS, then turn balancer on. > > And there's one script `rolling_restart.sh` relying on `gracefully_stop.sh`, will repeat the mentioned process. If the RS number in rolling restart is large which is often the case in production env---hundreds at least, the master inside will cancel and remove task then construct a new task back and forth, at JVM level. > > One step back, current impl brings no harm to master nor good, but the new impl looks like may bring a new uncertainty. > > I incline to keep it still, and so, leave my -0. graceful_stop.sh turns on balancer at the end conditionally. If -nob arg is provided, it won't: [here](https://github.com/apache/hbase/blob/master/bin/graceful_stop.sh#L178) rolling_restart.sh provides that arg [here](https://github.com/apache/hbase/blob/master/bin/rolling-restart.sh#L218) rolling_restart itself taking care of turning the balancer on/off makes sense rather than gracefu_stop taking care of it for rolling_restart. Even if it didn't, it could still run into the possibility of running balancer in between rolling restart of RegionServers, which should not happen provided we move regions back and forth anyways [here](https://github.com/apache/hbase/blob/e9382154f32d7b552eb42e262a22bc44f57a7f1b/bin/graceful_stop.sh#L170).
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
