Retry PG changes without re-running lpsolve when pool configuration and OSD tree don't change

OSDs often change their /pg/history keys during rebalance, so monitor receives additional
transaction failures from etcd if it re-runs lpsolve which sometimes may even lead to monitor
being unable to apply PG changes at all until rebalance completes
This commit is contained in:
Vitaliy Filippov
2023-12-31 01:23:17 +03:00
parent 1edf86ed26
commit f757a35a8d
6 changed files with 210 additions and 155 deletions
+1
View File
@@ -18,6 +18,7 @@ try_change()
for i in {1..6}; do
echo --- Change PG count to $n --- >>testdata/osd$i.log
done
echo --- Change PG count to $n --- >>testdata/mon.log
$ETCDCTL put /vitastor/config/pools '{"1":{'$POOLCFG',"pg_size":'$PG_SIZE',"pg_minsize":'$PG_MINSIZE',"pg_count":'$n'}}'