Prevent early active monitoring of compute processes in AIO
The commit shown below introduced a main loop audit that mistakenly registers subfunction processes that are in the waiting for /var/run/.compute_config_complete 'polling' state during unlock enable. By doing so inadvertently changes its monitor FSM stage from 'Poll' to 'Manage' before configuration is complete. Since config is not complete, the hbsClient has not initialized its socket interface and is unable to service active monitoring requests. This leads to quorum failure and watchdog reboot. commit 537935bb0caa257df624a0b470a971c82d215152 Author: Eric MacDonald <eric.macdonald@windriver.com> Date: Mon Jul 9 08:36:22 2018 -0400 Reorder process restart operations to prevent pmond futex deadlock The Fix: Don't run the audit for processes that are in the waiting for 'polling' state. Test Plan: Provision AIO , verify no quorum failure and inspect logs for correct behavior. Change-Id: I179c78309517a34285783ee99bbb3d699915cb83 Closes-Bug: 1804318 Signed-off-by: Eric MacDonald <eric.macdonald@windriver.com>
This commit is contained in:
parent
4380c0ca13
commit
6d0cc6a2a8
mtce
@ -1,3 +1,3 @@
|
||||
SRC_DIR="src"
|
||||
TIS_PATCH_VER=140
|
||||
TIS_PATCH_VER=142
|
||||
BUILD_IS_SLOW=5
|
||||
|
@ -2032,7 +2032,9 @@ void pmon_service ( pmon_ctrl_type * ctrl_ptr )
|
||||
|
||||
/* Audit to ensure that running processes are
|
||||
* registered with the kernel */
|
||||
if (( process_config[i].registered == false ) &&
|
||||
if (( process_config[i].stage != PMON_STAGE__POLLING ) &&
|
||||
( process_config[i].stage != PMON_STAGE__START_WAIT ) &&
|
||||
( process_config[i].registered == false ) &&
|
||||
( _pmon_ctrl_ptr->event_mode ) &&
|
||||
( process_config[i].restart == false ) &&
|
||||
( process_config[i].failed == false ) &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user