icinga2/lib
Yonas Habteab 008fcd1744 Preserve runtime objects in a tmp file for the entire validation process
Given that the internal `config::Update` cluster events are using this
as well to create received runtime objects, we don't want to persist
first the conf file and the load and validate it with `CompileFile`.
Otherwise, we are forced to remove the newly created file whenever we
can't validate, commit or activate it. This also would also have the
downside that two cluster events for the same object arriving at the
same moment from two different endpoints would result in two different
threads simultaneously creating and loading the same config file -
whereby only one of the surpasses the validation, while the other is
facing an object `re-definition` error and tries to remove that config
file it mistakenly thinks it has created. As a consequence, an object
successfully created by the former is implicitly deleted by the latter
thread, causing the objects to mysteriously disappear.
2024-02-12 15:18:32 +01:00
..
base IoEngine: Always log coroutine exception diagnostics 2024-02-08 12:09:06 +01:00
checker Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02:00
cli Merge pull request #7799 from Icinga/bugfix/file-end 2023-08-25 11:06:19 +02:00
compat Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02:00
config FilterUtility::GetFilterTargets(): don't run filter for specific object(s) for all objects 2023-12-13 16:02:50 +01:00
db_ido Fix file endings 2023-05-17 18:05:13 +02:00
db_ido_mysql Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02:00
db_ido_pgsql Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02:00
icinga Notification#BeginExecuteNotification(): on recovery clear last_notified_state_per_user 2023-12-13 13:21:22 +01:00
icingadb Merge pull request #9896 from Icinga/provide-cancel_time-where-has_been_cancelled-may-be-1 2023-12-20 10:03:09 +01:00
livestatus Centralise default icinga.* and env.* macros 2023-02-17 15:33:36 +01:00
methods PluginNotificationTask::ScriptFunc(): on Linux truncate output and comment 2023-12-19 12:21:03 +01:00
mysql_shim
notification Explicitly stop started timers and wait for them 2023-04-14 14:52:04 +02:00
perfdata Revert "Influx DB: don't unneccessarily truncate timestamps to whole seconds" 2024-01-16 12:19:48 +01:00
pgsql_shim
remote Preserve runtime objects in a tmp file for the entire validation process 2024-02-12 15:18:32 +01:00
CMakeLists.txt