Skip to content

Commit fe44f40

Browse files
author
Ken Gaillot
committed
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.
1 parent c981683 commit fe44f40

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

crmd/join_client.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,13 @@ do_cl_join_finalize_respond(long long action,
313313

314314
if (AM_I_DC == FALSE) {
315315
register_fsa_input_adv(cause, I_NOT_DC, NULL, A_NOTHING, TRUE, __FUNCTION__);
316+
#if !HAVE_ATOMIC_ATTRD
317+
/* Ask attrd to write all attributes to disk. This is not needed for
318+
* atomic attrd because atomic attrd does a peer sync and write-out
319+
* when winning an election.
320+
*/
316321
update_attrd(NULL, NULL, NULL, NULL, FALSE);
322+
#endif
317323
}
318324

319325
free_xml(tmp1);

crmd/join_dc.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,7 +686,13 @@ do_dc_join_final(long long action,
686686
enum crmd_fsa_input current_input, fsa_data_t * msg_data)
687687
{
688688
crm_debug("Ensuring DC, quorum and node attributes are up-to-date");
689+
#if !HAVE_ATOMIC_ATTRD
690+
/* Ask attrd to write all attributes to disk. This is not needed for
691+
* atomic attrd because atomic attrd does a peer sync and write-out
692+
* when winning an election.
693+
*/
689694
update_attrd(NULL, NULL, NULL, NULL, FALSE);
695+
#endif
690696
crm_update_quorum(crm_have_quorum, TRUE);
691697
}
692698

0 commit comments

Comments
 (0)