I can confirm we do crap validating that value and potentially not what you would expect if it's bogus
ideally we can do more checks in the RingBuilder code itself - preventing you from even creating new rings with bogus values, or setting it too high via the set_min_part_hours command - so that even if you're using the RingBuilder instance directly (not via cli utility) you still get the same protection.
I will say that I have in some rare cases because of other issues in a cluster set min_part_hours to 99999 to *prevent* any additional unneeded rebalance going on in a ring. Like if you want to fail a device w/o having any *other* parts get moved off. I think that *usecase* is worth considering - although it could be serviced in other means (a --dont-move-parts-you-dont-have-to option to rebalance? or maybe a set_min_part_hours "infinity"? or ... w/e)
Honestly I had *assumed* that after a decade or so it *would* actually start moving parts again, but of course I always change it back to a sane value before that ;)
I can confirm we do crap validating that value and potentially not what you would expect if it's bogus
ideally we can do more checks in the RingBuilder code itself - preventing you from even creating new rings with bogus values, or setting it too high via the set_min_part_hours command - so that even if you're using the RingBuilder instance directly (not via cli utility) you still get the same protection.
I will say that I have in some rare cases because of other issues in a cluster set min_part_hours to 99999 to *prevent* any additional unneeded rebalance going on in a ring. Like if you want to fail a device w/o having any *other* parts get moved off. I think that *usecase* is worth considering - although it could be serviced in other means (a --dont- move-parts- you-dont- have-to option to rebalance? or maybe a set_min_part_hours "infinity"? or ... w/e)
Honestly I had *assumed* that after a decade or so it *would* actually start moving parts again, but of course I always change it back to a sane value before that ;)