Skip to content

Commit

Permalink
High: stonith-ng's function cannot be blocked with CIB updates forever
Browse files Browse the repository at this point in the history
In the high-load (or high-rate-config-change) scenarios,
pacemaker-fenced would be unable to provide service when basically DoS'd
with CIB update notifications.  Try to reconcile that with elevated
priority of the server's proper listening interface in the mainloop, at
worst, it will try to fence with slightly outdated config, but appears
to be less bad than not carrying the execution at all, for instance.
Other daemons might be considered as well.

Prerequisites:
- ClusterLabs/libqb#352

How to verify:
- mocked/based -N (see commit adding that module to mocked based daemon)
  • Loading branch information
jnpkrn committed May 17, 2019
1 parent 0a5f9c7 commit 070e813
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lib/common/utils.c
Original file line number Diff line number Diff line change
Expand Up @@ -1031,7 +1031,8 @@ attrd_ipc_server_init(qb_ipcs_service_t **ipcs, struct qb_ipcs_service_handlers
void
stonith_ipc_server_init(qb_ipcs_service_t **ipcs, struct qb_ipcs_service_handlers *cb)
{
*ipcs = mainloop_add_ipc_server("stonith-ng", QB_IPC_NATIVE, cb);
*ipcs = mainloop_add_ipc_server_with_prio("stonith-ng", QB_IPC_NATIVE, cb,
QB_LOOP_HIGH);

if (*ipcs == NULL) {
crm_err("Failed to create fencer: exiting and inhibiting respawn.");
Expand Down

0 comments on commit 070e813

Please sign in to comment.