ha/service-mgmt/sm-1.0.0/src
Bin Qian 3034fef823 Enhance timer system to avoid double deregister
The bug reported was because the dbmon service audit timer was
overwritten accidentally, therefore no audit was performed so the
dbmon service was not actually being audit.

Major change is to enhance timer system to use global unique timer
id (not reused) to ensure timer is not double deregistered by 2
different mechanisms (disarm/deregister).
Change the timer id to 64 bit integer to ensure id never overflow.

Above change eliminates the double deregistering a timer issue which
could accidentally deregister a new timer that reuses the same id.

Also some cleaning to get rid of cases that could double deregister
timer (although it is no longer harmful as above mentioned change is
in place)

Change-Id: I2603870d2eb2749d78456e406095ae543353963f
Closes-Bug: 1837724
Signed-off-by: Bin Qian <bin.qian@windriver.com>
2019-08-22 10:24:48 -04:00
..
Makefile Handling provision/deprovision request 2019-04-25 15:08:18 -04:00
fm_api_wrapper.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
fm_api_wrapper.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
main.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
service_status StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_alarm.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_alarm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_alarm_defs.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_alarm_thread.c Improve security by avoiding buffer overflows 2019-01-09 05:34:07 -06:00
sm_alarm_thread.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_api.c Handling provision/deprovision request 2019-04-25 15:08:18 -04:00
sm_api.h Handling provision/deprovision request 2019-04-25 15:08:18 -04:00
sm_cluster_hbs_info_msg.cpp Use hbs cluster info to determine best survivor 2018-12-11 11:12:16 -05:00
sm_cluster_hbs_info_msg.h Use hbs cluster info to determine best survivor 2018-12-11 11:12:16 -05:00
sm_configuration_table.c Improve security by avoiding buffer overflows 2019-01-09 05:34:07 -06:00
sm_configuration_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_configure.cpp Handling provision/deprovision request 2019-04-25 15:08:18 -04:00
sm_configure.h Handling provision/deprovision request 2019-04-25 15:08:18 -04:00
sm_failover.c Merge "Ensure all services disabled when node is failed" 2019-07-04 14:57:35 +00:00
sm_failover.h SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_fail_pending_state.cpp SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_fail_pending_state.h Use hbs cluster info to determine best survivor 2018-12-11 11:12:16 -05:00
sm_failover_failed_state.cpp Use hbs cluster info to determine best survivor 2018-12-11 11:12:16 -05:00
sm_failover_failed_state.h split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_fsm.cpp SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_fsm.h SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_initial_state.cpp split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_initial_state.h split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_normal_state.cpp SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_normal_state.h split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_ss.c SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_ss.h SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_failover_survived_state.cpp split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_survived_state.h split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_utils.c split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_failover_utils.h split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_heartbeat.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_heartbeat.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_heartbeat_msg.c Introduce failover FSM 2018-09-18 08:08:40 -04:00
sm_heartbeat_msg.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_heartbeat_thread.c SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_heartbeat_thread.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_log.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_log.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_log_defs.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_log_thread.c sm components to use C++11 standard 2018-08-20 15:44:01 +00:00
sm_log_thread.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_main_event_handler.c Handling provision/deprovision request 2019-04-25 15:08:18 -04:00
sm_main_event_handler.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_msg.c sm components to use C++11 standard 2018-08-20 15:44:01 +00:00
sm_msg.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_api.cpp Introduce failover FSM 2018-09-18 08:08:40 -04:00
sm_node_api.h Introduce failover FSM 2018-09-18 08:08:40 -04:00
sm_node_disabled_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_disabled_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_enabled_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_enabled_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_fsm.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_fsm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_swact_monitor.cpp Cleanup internal references 2018-07-23 12:15:39 -04:00
sm_node_swact_monitor.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_unknown_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_node_unknown_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_notify_api.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_notify_api.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_process.c Enable configurable sm process priority through sm-configure 2019-02-22 10:37:24 -05:00
sm_process.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_process_death.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_process_death.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_action.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_action.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_action_result_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_action_result_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_action_table.c Enable reloading service_actions and dependency tables 2019-04-25 10:16:06 -04:00
sm_service_action_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_api.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_api.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_audit.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_audit.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_dependency.c Controller Services swact/failover time reduction 2018-06-28 15:43:19 -04:00
sm_service_dependency.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_dependency_table.c Enable reloading service_actions and dependency tables 2019-04-25 10:16:06 -04:00
sm_service_dependency_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_disable.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_disable.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_disabled_state.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_disabled_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_disabling_state.c Ensure a timer is stop if it is orphan 2019-04-26 10:57:11 -04:00
sm_service_disabling_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_api.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_api.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_assignment_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_assignment_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_backup_state.c Fixed host-swact failed 2019-02-01 09:07:57 -05:00
sm_service_domain_backup_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_filter.c remove incorrect logging when standby controller failed 2018-08-29 10:20:03 -04:00
sm_service_domain_filter.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_fsm.c Fixed host-swact failed 2019-02-01 09:07:57 -05:00
sm_service_domain_fsm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_initial_state.c Fixed host-swact failed 2019-02-01 09:07:57 -05:00
sm_service_domain_initial_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_api.c SM monitoring for cluster-host-ip service 2019-04-11 07:43:06 -04:00
sm_service_domain_interface_api.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_disabled_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_disabled_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_enabled_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_enabled_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_fsm.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_fsm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_not_in_use_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_not_in_use_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_unknown_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_interface_unknown_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_leader_state.c Fixed host-swact failed 2019-02-01 09:07:57 -05:00
sm_service_domain_leader_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_member_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_member_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_down_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_down_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_exchange_start_state.c sm components to use C++11 standard 2018-08-20 15:44:01 +00:00
sm_service_domain_neighbor_exchange_start_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_exchange_state.c sm components to use C++11 standard 2018-08-20 15:44:01 +00:00
sm_service_domain_neighbor_exchange_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_fsm.c sm components to use C++11 standard 2018-08-20 15:44:01 +00:00
sm_service_domain_neighbor_fsm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_full_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_full_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_neighbor_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_other_state.c Fixed host-swact failed 2019-02-01 09:07:57 -05:00
sm_service_domain_other_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_scheduler.c sm components to use C++11 standard 2018-08-20 15:44:01 +00:00
sm_service_domain_scheduler.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_utils.c Controller Services swact/failover time reduction 2018-06-28 15:43:19 -04:00
sm_service_domain_utils.h Controller Services swact/failover time reduction 2018-06-28 15:43:19 -04:00
sm_service_domain_waiting_state.c Fixed host-swact failed 2019-02-01 09:07:57 -05:00
sm_service_domain_waiting_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_weight.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_domain_weight.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enable.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_enable.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabled_active_state.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_enabled_active_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabled_go_active_state.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_enabled_go_active_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabled_go_standby_state.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_enabled_go_standby_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabled_standby_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabled_standby_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabling_state.c Ensure a timer is stop if it is orphan 2019-04-26 10:57:11 -04:00
sm_service_enabling_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_enabling_throttle_state.c Ensure a timer is stop if it is orphan 2019-04-26 10:57:11 -04:00
sm_service_enabling_throttle_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_engine.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_engine.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_fsm.c Ensure a timer is stop if it is orphan 2019-04-26 10:57:11 -04:00
sm_service_fsm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_go_active.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_go_active.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_go_standby.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_go_standby.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_active_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_active_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_api.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_api.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_audit.c Fix minor impact alarm in SM service group audit 2018-07-23 12:15:39 -04:00
sm_service_group_audit.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_disable.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_disable.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_disabled_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_disabled_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_disabling_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_disabling_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_enable.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_enable.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_engine.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_engine.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_fsm.c remove incorrect logging when standby controller failed 2018-08-24 14:20:08 -04:00
sm_service_group_fsm.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_active.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_active.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_active_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_active_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_standby.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_standby.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_standby_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_go_standby_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_health.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_health.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_initial_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_initial_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_member_table.c Reconfigure serivce and service group member lists 2019-04-25 15:03:42 -04:00
sm_service_group_member_table.h Reconfigure serivce and service group member lists 2019-04-25 15:03:42 -04:00
sm_service_group_notification.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_notification.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_shutdown_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_shutdown_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_standby_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_standby_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_table.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_group_table.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_heartbeat.c Enhance timer system to avoid double deregister 2019-08-22 10:24:48 -04:00
sm_service_heartbeat.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_heartbeat_api.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_heartbeat_api.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_heartbeat_thread.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_heartbeat_thread.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_initial_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_initial_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_shutdown_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_shutdown_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_service_table.c Recover service failure after success audit 2019-05-30 20:54:18 +00:00
sm_service_table.h Recover service failure after success audit 2019-05-30 20:54:18 +00:00
sm_service_unknown_state.c To disable service even when it is in unknown state 2019-07-04 10:54:06 -04:00
sm_service_unknown_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_swact_state.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_swact_state.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_task_affining_thread.c StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_task_affining_thread.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_troubleshoot.c Retrieve hbs cluster info 2018-11-30 11:59:23 -05:00
sm_troubleshoot.h StarlingX open source release updates 2018-05-31 07:36:26 -07:00
sm_worker_thread.cpp split-brain avoidance improvement 2018-11-08 20:18:43 +00:00
sm_worker_thread.h split-brain avoidance improvement 2018-11-08 20:18:43 +00:00