]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/DaemonServer: skip redundant update of pgp_num_actual 42223/head
authorDan van der Ster <daniel.vanderster@cern.ch>
Tue, 29 Jun 2021 20:36:00 +0000 (22:36 +0200)
committerCory Snyder <csnyder@iland.com>
Wed, 7 Jul 2021 17:13:30 +0000 (13:13 -0400)
During PG merge the MGR was observed repeatedly sending identical
set pgp_num_actual values, leading to osdmap churn at 2000/hr.

Skip the redundant osd set pgp_num_actual command if the
pgp_num is already our computed next.

Fixes: https://tracker.ceph.com/issues/51433
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
(cherry picked from commit 3f15749de0d550a124f8c6afbd457f17ef020963)

src/mgr/DaemonServer.cc

index 48816578ccb52959e3264e74f42c9c98f9f167ce..48534f896ac49815c4c9c007102ae23ab086e42e 100644 (file)
@@ -2867,11 +2867,13 @@ void DaemonServer::adjust_pgs()
                }
              }
            }
-           dout(10) << "pool " << i.first
-                    << " pgp_num_target " << p.get_pgp_num_target()
-                    << " pgp_num " << p.get_pgp_num()
-                    << " -> " << next << dendl;
-           pgp_num_to_set[osdmap.get_pool_name(i.first)] = next;
+           if (next != p.get_pgp_num()) {
+             dout(10) << "pool " << i.first
+                      << " pgp_num_target " << p.get_pgp_num_target()
+                      << " pgp_num " << p.get_pgp_num()
+                      << " -> " << next << dendl;
+             pgp_num_to_set[osdmap.get_pool_name(i.first)] = next;
+           }
          }
        }
        if (left == 0) {