File pacemaker-crmd-attribute-write-out-not-needed-with-atomic-attrd.patch of Package pacemaker.14737

commit fe44f400a3116a158ab331a92a49a4ad8937170d
Author: Ken Gaillot <kgaillot@redhat.com>
Date:   Wed May 24 15:32:02 2017 -0500

    Fix: crmd: attribute write-out not needed with atomic attrd
    
    This is a scalability issue, as the write-out results in CIB notifications
    for each attribute/node combination, which can overwhelm the crmd and
    get it evicted from the cib as a slow IPC client.

diff --git a/crmd/join_client.c b/crmd/join_client.c
index 45104831b..baa7be00b 100644
--- a/crmd/join_client.c
+++ b/crmd/join_client.c
@@ -313,7 +313,13 @@ do_cl_join_finalize_respond(long long action,
 
         if (AM_I_DC == FALSE) {
             register_fsa_input_adv(cause, I_NOT_DC, NULL, A_NOTHING, TRUE, __FUNCTION__);
+#if !HAVE_ATOMIC_ATTRD
+            /* Ask attrd to write all attributes to disk. This is not needed for
+             * atomic attrd because atomic attrd does a peer sync and write-out
+             * when winning an election.
+             */
             update_attrd(NULL, NULL, NULL, NULL, FALSE);
+#endif
         }
 
         free_xml(tmp1);
diff --git a/crmd/join_dc.c b/crmd/join_dc.c
index ebb5059b6..242377b54 100644
--- a/crmd/join_dc.c
+++ b/crmd/join_dc.c
@@ -686,7 +686,13 @@ do_dc_join_final(long long action,
                  enum crmd_fsa_input current_input, fsa_data_t * msg_data)
 {
     crm_debug("Ensuring DC, quorum and node attributes are up-to-date");
+#if !HAVE_ATOMIC_ATTRD
+    /* Ask attrd to write all attributes to disk. This is not needed for
+     * atomic attrd because atomic attrd does a peer sync and write-out
+     * when winning an election.
+     */
     update_attrd(NULL, NULL, NULL, NULL, FALSE);
+#endif
     crm_update_quorum(crm_have_quorum, TRUE);
 }
 
openSUSE Build Service is sponsored by